下面我们来修改一下“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上,换句话说,它叫用户校正错误的数据。
本节教程的辅助练习为:A)编写一个JSP/HTML使得用户可以键入系统属性的名字并将显示有System.getProperty返回数值。B)回到我们刚才手动修改的boolean变量,这时我们不用boolean变量,而是将来自HIDDEN表单区域的变量设置为true或者false。
文章来源于领测软件测试网 https://www.ltesting.net/