[問題] JSP跟JAVA傳值

看板java作者 (孤單)時間16年前 (2009/06/21 16:56), 編輯推噓4(403)
留言7則, 2人參與, 最新討論串1/1
我不知道這樣問對不對0.0 我用的是Netbeans IDE 6.5 要寫一個網頁程式 有一個範例 http://www.netbeans.org/kb/60/web/quickstart-webapps.html#setting 有 index.jsp response.jsp 跟 NameHandler.java 這個範例是在index.jsp輸入一個string 然後經過NameHandler.java 再傳出來給response.jsp印出 以下是index.jsp ------------------------------------------------------------------------ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h2>Entry Form</h2> <form name="Name Input Form" action="response.jsp"> Enter your name: <input type="text" name="name" /> <----輸入 <input type="submit" value="OK" /> </form> </body> </html> ---------------------------------------------------------------------------- 輸入值後 按下ok 呼叫response.jsp 並把值傳給NameHandler.java ------------------------------------------------------------------------ package org.mypackage.hello; public class NameHandler { private String name; public NameHandler() { name = null; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ------------------------------------------------------------------------- 在切換到response.jsp 裡面是拉入使用bean 設定bean屬性 獲取bean屬性 ------------------------------------------------------------------------ <body> <jsp:useBean id="mybean" scope="session" class="org.mypackage.hello.NameHandler" /> <jsp:setProperty name="mybean" property="name" /> <h2>Hello, <jsp:getProperty name="mybean" property="name" />!</h2> </body> ------------------------------------------------------------------------- 我不懂的是輸入的值是怎麼從index.jsp傳到NameHandler.java 是因為輸入的地方指定name="name" (黃色部分) 所以會把值給NameHandler.java裡的name嗎? 還是它會呼叫到setName(String name) 然後自動把值當作參數 再來是怎麼把值取出的 <jsp:setProperty name="mybean" property="name" /> <h2>Hello, <jsp:getProperty name="mybean" property="name" />!</h2> 是因為這兩行的 property="name" 所以他會去找getName()嗎? 我要把它改成能輸入好幾個string 然後給.java做運算 在傳給respone.jsp 印出 然而一直卡在值不知道是怎麼傳的很傷腦筋 裡面一大堆name 我不知到哪個是傳給哪個呼叫哪個 希望各位大大能幫我解答一下 -- 還有 不知道為什麼我的netbean照網頁做 每次run的時候都很慢 而且會失敗 跑一次最慢將近要一分鐘~"~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.236.205

06/22 23:19, , 1F
因為你的JAVABean有各property名稱(name)剛好 = request裡
06/22 23:19, 1F

06/22 23:23, , 2F
的name 所以JSP的introspection機制會自動assign給JavaBean
06/22 23:23, 2F

06/26 10:16, , 3F
簡單來說index.jsp您是傳給response.jsp,然而response.jsp
06/26 10:16, 3F

06/26 10:21, , 4F
response使用了JAVABean來引入NameHandler.java,
06/26 10:21, 4F

06/26 10:23, , 5F
setProperty是用來設定Name也就是會去.java裡setName運作
06/26 10:23, 5F

06/26 10:25, , 6F
反之getProperty就是到.java裡getName做運作,
06/26 10:25, 6F

06/26 10:28, , 7F
大致是這樣,您可以去收尋jsp:useBean有基本資料可看!!
06/26 10:28, 7F
文章代碼(AID): #1AFVNB2j (java)