JSP由浅入深(10)—— Beans and Forms处理


表单(Forms)是在网站交互的一个很普通的方法 。JSP使表单处理更加简单 。在JSP中处理表单的标准方法是定义一个“bean” 。这个“bean”不是一个完全的Java bean 。你只需在定义一个类使它有个区域,这个区域跟表单中的每一个区域相对应 。这个类区域必须有“setters”来匹配表单区域的名字 。举个例子,让我们修改一下前面教程的GetName.html并且收集Email地址和用户的年龄 。具体代码修改如下:

<HTML>

<BODY>

<FORM METHOD=POST ACTION="SaveName.jsp">

Whats your name? <INPUT TYPE=TEXT NAME=username SIZE=20><BR>

Whats your e-mail address? <INPUT TYPE=TEXT NAME=email SIZE=20><BR>

Whats 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; }

}