站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题用bean保存表单状态

用bean保存表单状态

摘要: 用bean保存表单状态

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="282" height="86" align="center" valign="top"> </td> <td width="402" valign="top">

通常在包含表单的JSP页面上部创建bena,如下所示:


如果将jsp:setProperty标记的property属性指定为'*',bean的所有属性将会设置成JSP页面输入的所有请求参数,不过在Bean中的属性的名字必须和Request对象中的参数名一致。
当再次显示某个表单时(如登录页页),通常希望表单元素能够保持其原来的输入值不变,这样用户就不用再为这些表单元素输入相应的值了。利用下面类似的方法可以使表单元素的值保持不变:
<input type='text' size=15 name='firstName' value='<%=request.getParameter("firstName") %>'>
但这样实现有一个缺点,如果表单元素没有相应的请求参数,就像表单最开始显示的那样, ServletRequest.getParameter将返回null,下面是解决的一种方法:在bean中判断用户在表单中是否有输入值。

</td></tr> </table>

jsp页面如下:
保存表单状态
<body>



<form>
Name:<input type='text' name='name' value='<%=form.getName()%>' />


<input type='radio' name='credit' value='visa' <%= form.creditSelectionAttr("visa") %>>visa

<input type='radio' name='credit' value='mc'master card

<input type='radio' name='credit' value='disc'discovery

<input type='radio' name='credit' value='amex'american express

<textarea name='comments' cols='25' <%= form.getComments() %></textarea>

<input type='submit'/>


</form>

<%@ include file='showForm.jsp' %>

</body>

上面的showForm.jsp代码如下:
name: <%= form.getName() %>

comments: <%= form.getComments() %>

credit: <%= form.getCredit() %>

最后是bena的原代码:WEB-INF/classes/beans/Form.java
package beans;

public class Form {
String name, comments = "Enter comments", credit;

public void setName(String s) { name = s; }
p ublic String getName() { return name != null ? name : ""; }

public void setComments(String s) { this.comments = s; }
public String getComments() { return comments; }

public void setCredit(String s) { credit = s; }
public String getCredit() {
return credit != null ? credit : "";
}

public String creditSelectionAttr(String creditName) {
i f(credit != null) {
return credit.equals(creditName) ? "checked" : "";
}
return "";
}
}

</td> </tr> <tr>


↑返回目录
前一篇: Jsp自定义标记入门程序:制作登录界面
后一篇: 用jsp读远程文件,保存到本地