作者jacky75113 (孤單)
看板java
標題[問題] JSP跟JAVA傳值
時間Sun Jun 21 16:56:42 2009
我不知道這樣問對不對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
推 marcX:因為你的JAVABean有各property名稱(name)剛好 = request裡 06/22 23:19
推 marcX:的name 所以JSP的introspection機制會自動assign給JavaBean 06/22 23:23
推 alen127:簡單來說index.jsp您是傳給response.jsp,然而response.jsp 06/26 10:16
推 alen127:response使用了JAVABean來引入NameHandler.java, 06/26 10:21
→ alen127:setProperty是用來設定Name也就是會去.java裡setName運作 06/26 10:23
→ alen127:反之getProperty就是到.java裡getName做運作, 06/26 10:25
→ alen127:大致是這樣,您可以去收尋jsp:useBean有基本資料可看!! 06/26 10:28