JBuilder2005实战JSP之切换控制(3)
由于在login.jsp(SUN企业级应用的首选)的表单中通过action属性指定switch.jsp(SUN企业级应用的首选)为响应的jsp(SUN企业级应用的首选)文件,当用户在login.jsp(SUN企业级应用的首选)中选定登录用户,输入密码提交表单后,客户端将向服务器发送一个HTTP请求,服务器即调用switch.jsp(SUN企业级应用的首选)来响应这个请求。表单中用户名和密码两组件的数据将通过HTTP请求传给服务器的switch.jsp(SUN企业级应用的首选),服务器将这些信息封装在request对象中传给switch.jsp(SUN企业级应用的首选),所以switch.jsp(SUN企业级应用的首选)可通过request.getParameter(String paraName)来获取这两个值。
String userId = request.getParameter("userId"); String password = request.getParameter("password"); |
试想如果login.jsp(SUN企业级应用的首选)的表单有10个以上的数据组件,则在switch.jsp(SUN企业级应用的首选)中必须通过相应数目的request.getParameter()方法获取其值。此外,如果这些数据不是字段串类型,而是整数或浮点数,由于request.getParameter()方法返回的值都是String,还必须进行类型的转换,这种工作不但单调乏味,还容易出错。
jsp(SUN企业级应用的首选)允许你通过Bean以映射的方式接收网页表单的数据,Bean以这个规则映射表单的数据:Bean属性名=表单数据组件名,也即所有和Bean属性名相同的表单数据域被自动填充到Bean中,并且完成数据类型的转换。如login.jsp(SUN企业级应用的首选)的表单中有两个数据组件,一个名为userId,另一个是password,定义一个拥有相同名的userId和password属性的User.java Bean,这个Bean将可以自动接收表单中的两个数据组件值。
编写User.java
我们先来编写这个User.java的Bean,在工程中创建User.java,其代码如下所示:
代码清单 7 User.java
1. package bookstore; 2. 3. public class User 4. { 5. private String userId;//用户Id 6. private String password;//密码 7. private String userName;//用户名 8. public String getPassword() { 9. return password; 10. } 11. public String getUserId() { 12. return userId; 13. } 14. public String getUserName() { 15. return userName; 16. } 17. public void setPassword(String password) { 18. this.password = password; 19. } 20. public void setUserId(String userId) { 21. this.userId = userId; 22. } 23. public void setUserName(String userName) { 24. this.userName = userName; 25. } 26. } |
除userId和password两属性名,还有一个用户名属性userName,这个属性的值不是从login.jsp(SUN企业级应用的首选)的表单接收的,当用户名密码验证正确后,从数据表T_USER表中获取用户名保存在这个属性中,以便其他地方引用,保存并编译这个类。
提示: 你可以通过JBuilder的Bean Express工具快速创建User.java的代码,在一般情况下,你应该通过Bean Express来创建Bean的属性,这样不但自动产生get/set的属性访问方法,还保证了Bean命名规范。 |
编写页面程序
在创建User.java 的Bean后,我们着手创建switch.jsp(SUN企业级应用的首选),在switch.jsp(SUN企业级应用的首选)中引用这个Bean。
通过File->New..->Web->双击jsp(SUN企业级应用的首选)图标启动创建jsp(SUN企业级应用的首选)向导。
1.指定swith.jsp(SUN企业级应用的首选)名字
图 10 指定switch.jsp(SUN企业级应用的首选)的名字 |
一直按Next到向导的第3步。
2.引用User.java Bean
图 11 指定jsp(SUN企业级应用的首选)中引用Bean |
点击Add Bean...按钮,弹出Select a Class对话框,在对话框中选择bookstore.User类,如下图所示:
图 12 选择类作为Bean |
按OK后,返回到向导第3步的对话框,此时对话框的Bean列表中多了一行记录,可以在ID栏中为Bean指定一个名字,在Scope中指定Bean的作用域,如下图所示:
补充:Web开发 , Jsp ,