Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2297856
  • 博文数量: 252
  • 博客积分: 5472
  • 博客等级: 大校
  • 技术积分: 3107
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-17 18:39
文章分类

全部博文(252)

文章存档

2012年(96)

2011年(156)

分类: Java

2011-12-06 16:32:44

1  UserBean.java
源代码
 
  1. package org.sunxin.ch09.beans;

  2. import java.io.Serializable;

  3. public class UserBean implements Serializable
  4. {
  5.     private String name;
  6.     private int ***;
  7.     private String education;
  8.     private String email;
  9.     
  10.     public String getName()
  11.     {
  12.         return name;
  13.     }
  14.     
  15.     public void setName(String name)
  16.     {
  17.         this.name=name;
  18.     }
  19.     
  20.     public int get***()
  21.     {
  22.         return ***;
  23.     }
  24.     
  25.     public void set***(int ***)
  26.     {
  27.         this.***=***;
  28.     }
  29.     
  30.     public String getEducation()
  31.     {
  32.         return education;
  33.     }
  34.     
  35.     public void setEducation(String education)
  36.     {
  37.         this.education=education;
  38.     }
  39.     
  40.     public void setEmail(String email)
  41.     {
  42.         this.email=email;
  43.     }
  44.     
  45.     public String getEmail()
  46.     {
  47.         return email;
  48.     }
  49. }
2 reg.html
 
  1. <form action="reg.jsp" method="post">
  2.             <table>
  3.                 <tr>
  4.                     <td>用户名:</td>
  5.                     <td><input type="text" name="name"></td>
  6.                 </tr>
  7.                 <tr>
  8.                     <td>性别:</td>
  9.                     <td>
  10.                         <input type="radio" name="***" value="1" checked>
  11.                         <input type="radio" name="***" value="0">
  12.                     </td>
  13.                 </tr>
  14.                 <tr>
  15.                     <td>学历</td>
  16.                     <td>
  17.                         <select size=1 name="education">
  18.                             <option value= "" selected>...</option>
  19.                             <option value="高中">高中</option>
  20.                             <option value="大学">大学</option>
  21.                             <option value="硕士">硕士</option>
  22.                             <option value="博士">博士</option>
  23.                         </select>
  24.                     </td>
  25.                 </tr>
  26.                 <tr>
  27.                     <td>Email</td>
  28.                     <td><input type="text" name="mail"></td>
  29.                 </tr>
  30.                 <tr>
  31.                     <td><input type="reset" value="重填"></td>
  32.                     <td><input type="submit" value="提交"></td>
  33.                 </tr>
  34.             </table>
  35.         </form>
 
3 reg.jsp
 
  1. <%@ page contentType="text/html; charset=GB2312" %>
  2. <%
  3.     request.setCharacterEncoding("GB2312");
  4. %>
  5. <jsp:useBean id="user" scope="session" class="org.sunxin.ch09.beans.UserBean">
  6.     
  7. </jsp:useBean>

  8.     <jsp:setProperty name="user" property="*"/>
  9.     <jsp:setProperty name="user" property="email" param="mail"/>
  10. 注册成功!
代码第三行调用隐含的对象setCharacterEncoding()方法设置请求中文所使用的中文字符编码为GB2312
随后 使用 动作元素实例化UserBean。并设置UserBean对象的范围是session
 
第6 7行使用设置UserBean的属性同名的参数的值赋给匹配的属性。
 
因为reg.html页面的表单用于填写e-mail的文本域的名字是mail,和UserBean的属性email不同,所以
第7行再次调用元素,使用属性param指定请求对象中参数的名字。
 
4 userinfo.jsp
 此页面可以从UserBean对象中获取用户提交的信息
  1. <%@ page contentType="text/html; charset=GB2312" %>
  2. <jsp:useBean id="user" scope="session" type="org.sunxin.ch09.beans.UserBean"/>

  3. 你的姓名:<jsp:getProperty name="user" property="name"/><br>
  4. 你的性别:<%
  5.             int ***=user.get***();
  6.             if(1==***)
  7.                 out.println("男");
  8.             else if(0==***)
  9.                 out.println("女");
  10.           %><br>
  11. 你的学历:<jsp:getProperty name="user" property="education"/><br>
  12. 你的Email:<jsp:getProperty name="user" property="email"/><br>
第二行的 JSP容器会在session范围中查找user所标识的UserBean对象,在reg.jsp中已经创建了UserBean对象,并且保存到session范围中,所以在这里可以直接从session中取出userBean对象。
第4  12  13行 利用动作来访问UserBean的属性。第5-11行,是利用通常的对象访问方式,调用user对象的get***()方法;来得到用户的性别
 
如果页面中需要访问已经存在的JavaBean对象,那么应该使用type来代替class属性。当对象不存在的时候。将抛出InstantiationException异常,这样就可以告诉我们程序中有错误存在。反之你使用了class属性,当JavaBean不存在的时候,一个新对象将会创建。这样可能让我们忽略一些隐藏的错误。
 
 
 
 
 
 
阅读(1588) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~