国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP中Beans 與 Forms處理機制

2024-09-05 00:19:55
字體:
來源:轉載
供稿:網友

   表單(forms)是在網站交互的一個很普通的方法。jsp使表單處理更加簡單。在jsp中處理表單的標準方法是定義一個“bean”。這個“bean”不是一個完全的java bean。你只需在定義一個類使它有個區域,這個區域跟表單中的每一個區域相對應。這個類區域必須有“setters”來匹配表單區域的名字。舉個例子,讓我們修改一下前面教程的getname.html并且收集email地址和用戶的年齡。具體代碼修改如下:

<html>

<body>
<form method=post action="savename.jsp">

what's your name? <input type=text name=username size=20><br>

what's your e-mail address? <input type=text name=email size=20><br>

what's your age? <input type=text name=age size=4>

<p><input type=submit>

</form>

</body>

</html>

  為了收集數據,我們要定義一個java類,使它有“username”、“email”、“age”的區域,并且我們要提供“setter”方法“setusername”、“setemail”和“setage”。這個“setter”方法只是一個以“set”開始其后是區域名的一種方法。區域名字的第一個字母要用大寫的。所以如果區域為“email”,它的“setter”方法就為“setemail”。同樣的,“getter”方法也類似定義,它只不過是用“get”來代替“set”而已。并且要使得setters和getters必須為公共的(public)。例如:

public class userdata {

string username;

string email;

int age;

public void setusername( string value )

{

username = value;

}

public void setemail( string value )

{

email = value;

}

public void setage( int value )

{

age = value;

}

public string getusername() { return username; }

public string getemail() { return email; }

public int getage() { return age; }

}

  一旦你定義了這個類,再編譯它,并且將它放置于網絡服務器的類路徑中。這個服務器同樣要定義一個特殊的目錄來放置bean類。如果你是使用blazix你可以將它們放置到“classes”目錄中。如果你必須改變類路徑并且服務器正在運行,那么網絡服務器就必須停止并重新啟動。

  下面我們來修改一下“savename.jsp”以使用bean來收集數據:

<jsp:usebean id="user" class="userdata" scope="session"/>


<jsp:setproperty name="user" property="*"/>

<html>

<body>

<a href="nextpage.jsp">continue</a>

</body>

</html>

  這里所有我們需要作的事情是增加一個jsp:usebean標志以及jsp:setproperty標志。這個usebean標志是在session中查找“userdata”的實例。如果實例被找到了,它就將更新舊的實例;如果實例沒有被找到,它就將創建一個userdata新的實例(userdata的實例被稱為bean),然后將它放置于session中。而setproperty標志會自動收集輸入的數據,并匹配bean方法的名字,在將數據放置于bean中。

  下面修改nextpage.jsp以從bean取出數據:

<jsp:usebean id="user" class="userdata" scope="session"/>

<html>

<body>

you entered<br>

name: <%= user.getusername() %><br>

email: <%= user.getemail() %><br>
age: <%= user.getage() %><br>
</body>
</html>

  這里要注意usebean標簽被重復使用了。這個bean是作為類“userdata”的變量的。由用戶鍵入的數據都被收集在bean中。我們可以不需要“savename.jsp”,“getname.html”的目標就是“nextpage.jsp”,并且只要我們增加一個jsp:setproperty 標志數據同樣有效。在下一個教程中,我們要使用savename.jsp作為一個錯誤處理并自動連接到nextpage.jsp上,換句話說,它叫用戶校正錯誤的數據。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高淳县| 竹北市| 佛冈县| 博罗县| 昭平县| 黄大仙区| 峨边| 满洲里市| 怀集县| 信宜市| 万载县| 西宁市| 北票市| 洪雅县| 彩票| 裕民县| 吴堡县| 林口县| 东平县| 虞城县| 喀喇沁旗| 霍邱县| 拉萨市| 湖州市| 嘉善县| 佛学| 阿鲁科尔沁旗| 曲麻莱县| 尚义县| 琼结县| 安远县| 绥德县| 六安市| 日喀则市| 濉溪县| 苍山县| 滕州市| 沾化县| 江山市| 安平县| 商南县|