Let's Go!

java_JavaBean学习笔记

上一篇 / 下一篇  2009-10-29 20:19:37 / 个人分类:JAVA学习&编程相关


JavaBean 原理:
  <jsp:useBean id="sb" scope="page" class="com.xsz.test.javabean.SimpleBean"  />
   <%--
    实例化了一个 SimpleBean类对象 ---> sb (类SimpleBean的一个实例化对象)
    后台输出 -----> " *** JavaBean初始化---SimpleBean init().... "
    ----> 执行此句时,用无参构造方法,实例化了一个 SimpleBean 对象
    ---->相当于执行了  SimpleBean sb = new SimpleBean() ;   
      sb 是对象名              --%>
     
    <jsp:setProperty name="sb" property="*"/>
     <%--
      根据反射规则,设置了对象sb的全部属性,自动匹配
      request ----> request.getParameterNames()
       ----> name ---> setName(String name)方法 ---> 设置属性 setName(request.getParameter("name")) ;
       ----> password ---> setName(String password)方法 ---> 设置属性 setName(request.getParameter("password")) ;
     
            其他设置属性的方法,类似。              
                              --%>


 
 一、 如何编写 javaBean ,要求:

 1. 所有的JavaBean必须放在一个包中----->*.class文件 放在 WEB-INF/classes文件夹下
 2. JavaBean 必须声明称 public class 类型 ---> 文件名称与类名称一样 
 3. 所有的属性必须封装(private 声明)
 4. 设置和取得属性通过 setter、getter 方法
 5. 使用jsp标签去调用 JavaBean 时,必须有一个无参的构造方法
 
  Java 命名规范(略)
 
 二、 如何在 Jsp中使用 JavaBean
 
   1.调用:
  方法1 : 使用 导入指令 ---> <%@ page import="包名.类名"%>
  方法2 :使用jsp标签指令调用
       
         <jsp:useBean
          id="sb"
          scope="page"
          class="包名.类名"
         />

   2.  JavaBean修改后,要生效,须重启服务器,或设置  tomcat 属性为 <Context  reloadable="true"/>
 
  3. 使用jsp标签去调用 JavaBean 时,必须有一个无参的构造方法
 public SimpleBean()
 { System.out.println("***SimpleBean init()...."); } ;
 
 // 使用jsp标签去调用 JavaBean 时,必须有一个无参的构造方法
 // 否则报错,提示无法找到 VO 对象,即JavaBean 的初始化方法---->无参构造方法,
 //org.apache.jasper.JasperException: com.xsz.test.javabean.SimpleBean: method <init>()V not found
 

  三、jsp 设置 JabaBean 属性:
    四种设置属性的方法:
    1. <jsp:setProperty name="sb" property="*"/>
     自动匹配全部的属性值
   
    2. <jsp:setProperty name="sb" property="name"/>
       可以根据自己的需要设置需要的属性值
   
    3. <jsp:setProperty name="sb" property="name" param="password"/>
       可以根据自己的需要,任意选择传递的参数
   
    4. <jsp:setProperty name="sb" property="name" value="myValue"/>
       根据用户的需要,自己设置参数的值,
       如果输入的值是一个变量,则,需要表达式输出
   
   
   
   
    之所以能够自动匹配,使用了Java反射机制,根据参数名称,找到相应的方法。
   原则:  因此,使用JavaBean自动设置内容时,一定要让参数名称与Bean中的属性名称一致,
         这样通过java的命名规范,可以达到统一,否则取值失败。
 
 
  四、 jsp 取得JavaBean 属性:
     实际上就是打印输出 JavaBean 的属性值。
       姓名: <jsp:getProperty name="sb" property="name" />
        密码: <jsp:getProperty name="sb" property="password"/>
     


  五、 JavaBean 的作用域范围:
 
     page , request , session , application 范围 -----> 设置 scope="范围"
 
     <jsp:useBean
          id="sb"
          scope="page"
          class="包名.类名"
         />
 
 

  六 附JavaBean属性设置方法:

  <%--
   <jsp:setProperty name="sb" property="*"/>
                  // 根据反射规则,设置了对象sb的全部属性,自动匹配
   <jsp:setProperty name="sb" property="name"/>      //只设置了 name的属性  
   <jsp:setProperty name="sb" property="password"/>  //只设置了 password的属性
   <jsp:setProperty name="sb" property="name"  param="password"/>
           // 只设置了 name的属性,属性值为 form(request)中password参数的值
           
   <jsp:setProperty name="sb" property="name" value="我自定义的值"/>
                  // 只设置了 name的属性,属性值为 "我自定义的值"   
   <jsp:setProperty name="sb" property="name"  value="<%=request.getParameter(\"password\") %>"/>
             // 设置自己的属性值, 
     上面一行,相当于下面的两行:
   <% String value =request.getParameter("password");  %>
   <jsp:setProperty name="sb" property="name"  value="<%=value%>"/> 
  --%>

 

 


TAG:

 

评分:0

我来说两句

Open Toolbar