JSP - 可重用组件JavaBean

 

 

1 JavaBean 介绍

 

1.1  定义:

    在一个应用里面可以被重用和组合的 java  类。

 

1.2  Javabean 的特点:

 

1)实现了可序列化(可以通过网络交换到磁盘文件中)

2)无参的构造器

3)有属性,并且为属性提供 getXxx() setXxx ()方法。(如果是 boolean 类型的属性还可以提供

     isXxx()

 

     注意:getXxx () 、set()Xxx方法不是必须的,但是如果想要在 JSP 页面中可以为这些属性赋值的话就必须在 JavaBean 中提供 setXxx () 方法,如果想到这些属性则必须在 JavaBean 中提供 getXxx () 方法。如果不提供 getXxx ()、set()Xxx 方法,则其只能称为成员变量,而不能称为 JavaBean 的属性。

 

4)可以作为事件源,通过事件与别的组件沟通。

 

 

2 JavaBean JSP 中的应用:

 

2.1 在页面中生成实例:

 

     <jsp: useBean  id=”user”  class=”com.tarena.User”  scope=”session”/>

 

  创建或查找指定类型( class 属性所指定的)( scope 属性指定的范围中[属性] ) 一个 JavaBean 对象(必须有缺省的构造器)。属性名称为 id 属性的值,同时该动作声明了一个名字为 game 的临时变量。

    id :  实例的名字

    class :  这个类字节码文件存放的位置,还可以用 type  代替。

    scope:  实例生效的范围,缺省的是 page 范围。

 

  注意:两者的差别

                class:如果对象在 scope范围内不存在:创建新的对象,并且以 id 属性的值为属性名称保存 scope 属性所指定的范围的属性中,只能是具体类。

                type:  如果这个范围内没有实例,不创建新的对象,抛出异常,可以是接口。

 

2.2 为属性赋值:

 

      <jsp: setProperty  name=”beanName”  property =”propertyName”  param=”paramName”/>

 

     设置某个 JavaBean 中某个属性的值(调用某个 JavaBean  set  方法)

          name:  实例的名字,与 jsp:useBean 中的 id 相对应

          property:  属性的名字(要求 JavaBean 必须有该属性的 set 方法)

          param:  用表单中指定的参数来为 JavaBean 属性赋值

          value:将 value 中的值赋给 JavaBean 中的属性。

 

 

      <jsp: setProperty  name=”beanName”  property =”*” >

 

     所有的属性都与表单里面提交的名字相同,找到相同的就赋值,找不到就什么也不做

 

 

      <jsp:setProperty name=“beanName” property=“propName” value=“string constant/>  固定值

 

 

      <jsp:setProperty name=beanName property=propName param=paramName/>  定参数名

 

 

      <jsp:setProperty name=beanName property=propName/>  和属性名相同的参数

 

 

      <jsp:setProperty name=beanName property=*/>  所有的同名参数

 

 

      <jsp:setProperty name= “beanName”  property= “propName”  value= “<%=expression%>”/>

 

        用表达式的,明确指定

 

2.3 取得实例的属性:

 

      <jsp: getProperty  name=beanName property =propName >

 

     取得实例的一个属性,返回值都为字符串的形式

 

      <%=numguess.getHint()%>

 

     多用这个表达式,上面的命名必须符合 set/get 要求

 

2.4 注意:

 

      <jsp:useBean id=”user” class=”com.bean.User” scope=”session”>

         <jsp:setProperty name=”user” property=”*” />

      </jsp:useBean>

 

    将 jsp:setProperty 写在 jsp:useBean 中时,请求范围时,不会出错;但在会话范围时,会出错,setProperty 只会在 javabean 被创建时,才会调用,只是查找到时,setProperty 会被调。

在开发时,一定要将 jsp:setProperty 放在外面。

 

 

     <jsp:useBean id=”user” class=”com.bean.User” scope=”session”/>

 

     <jsp:setProperty name=”user” property=”*” />

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值