对于javaBean,我们说就是一个*.java文件。对于javaBean的应用必须结合表单才能体现。我们来以一个实例学习javaBean的应用。

 
  1. biaodan.html  
  2. <html> 
  3. <head> 
  4. <title>WEB开发</title> 
  5. </head> 
  6. <body> 
  7. <form action="javaBean_01.jsp" method="post"> 
  8.    姓名:<input type="text" name="name"><br> 
  9.   年龄:  <input type="text" name="age"><br> 
  10.   <input type="submit" value="提交"> 
  11.   <input type="reset" value="重置"> 
  12. </form> 
  13. </body> 
  14. </html> 

 

有了提交页面,我们再来做接受显示页面。对于属性的定义应该用javaBean了。

 
  1. SimpleBean.java  
  2. package javaBean01;  
  3. public class SimpleBean {  
  4.     private String name;  
  5.     private int age;  
  6.     public SimpleBean(){  
  7.           
  8.     }  
  9.     public void setName(String name){  
  10.         this.name=name;  
  11.     }  
  12.     public void setAge(int age){  
  13.         this.age=age;  
  14.     }  
  15.     public String getName(){  
  16.         return this.name;  
  17.     }  
  18.     public int getAge(){  
  19.         return this.age;  
  20.     }  
  21. }  

javaBean做好了后,再来做SimpleBean_01.jsp页面,这个页面才是关键,如果按照一般方法的话如下:

 
  1. SimpleBean_01.jsp  
  2. <%@ page language="java" contentType="text/html" pageEncoding="gbk" %> 
  3. <%@ page import="javaBean01.SimpleBean" %>  //导进包
  4. <html>   
  5. <head> 
  6. <title>web开发</title> 
  7. </head> 
  8. <body> 
  9. <%   
  10.      request.setCharacterEncoding("gbk");   //编码
  11.      SimpleBean simple=new SimpleBean();   //实例化对象
  12.      simple.setName(request.getParameter("name"));   //接受参数
  13.      simple.setAge(Integer.parseInt(request.getParameter("age")));  
  14. %> 
  15. <h3>姓名:<%=simple.getName() %></h3> 
  16. <h3>年龄:<%=simple.getAge() %></h3> 
  17. </body> 
  18. </html> 

以上的方法是一般的做法,先导进去javaBean的包,然后实例化对象,然后接受参数让其显示,这一种方法是最原始的手工定义javaBean的对象,可以说都是用手工完成的。       但是既然我们学了javaBean了,就会有一种更好的方法,那就是标签指令。标签指令在上一篇文章中已经学习过了,而这一次我们来更加深入的学习标签指令。

 
  1. SimpleBean_01.jsp  
  2. <%@ page language="java" contentType="text/html" pageEncoding="gbk" %> 
  3. <html>   
  4. <head> 
  5. <title>web开发</title> 
  6. </head> 
  7. <body> 
  8. <%   request.setCharacterEncoding("gbk");%> 
  9. <jsp:useBean id="simple" scope="page" class="javaBean01.SimpleBean"/> 
  10. <jsp:setProperty name="simple" property="*"/>    操作javaBean中的属性  
  11. <h3>姓名:<%=simple.getName() %></h3> 
  12. <h3>年龄:<%=simple.getAge() %></h3> 
  13. </body> 
  14. </html> 

用以上的这个方法我们可以发现它的好处,实例化对象用一个id就可以了,而且没有了接受参数这一块,没错,原来的接受参数被 <jsp:setProperty name="simple" property="*"/> 这个指令所代替了。

  通过一个<jsp:setProperty>标签就可以完成所有请求参数的自动设置,而且可以自动将输入的String型变成int型的数据。对于<jsp:setProperty>,它的语法如下:

 

<jsp:setProperty>:表示操作指定javaBean中的属性,里面定义了两个属性

      1. name: 表示的是使用javaBean中的id的定义

      2.  property:表示的是设置里面的属性内容,如果为则表示自动匹配,与表单相匹配。

    如果要想让表单的参数可以自动设置到javaBean之中的话,那么急需要让参数的名称与属性一致,但是这种说法并不明确,因为在这之中还包含了一个概念。

   在编写简单的java类的时候一直强调,类中的属性必须封装,封装之后的属性需要按照指定的格式编写对应的settergetter方法。

   使用这种操作,实际上最终调用的是javaBean中的setter方法,而setter方法又有严格的命名要求,所以可以简单的理解为要想设置,则参数名称必须与属性名称一致,否则无法完成设置。

  当然,这种操作的原理依然是反射机制,通过反射课一将指定属性名称的setter方法进行调用。

 

    javaBean的优点必须结合表单才可以体现出来。