jsp:useBean,jsp:setProperty,jsp:getProperty用法

创建一个Bean实例并指定它的名字和作用范围。

n JSP 语法格式如下:

<jsp:useBean

         id="beanInstanceName"

     scope="page | request | session | application"

         {

             class="package.class" |

           

type="package.class" |

             class="package.class" type="package.class" |

             beanName="{package.class | <%= expression %>}"

type="package.class"

         }

         {

             /> |

             > other elements </jsp:useBean>

         }

属性以及用法

n1id="beanInstanceName"

n在所定义的范围中确认Bean的变量,使之能在后面的程序中使用此变量名来分辨不同的Bean ,这个变量名对大小写敏感,必须符合所使用的脚本语言的规定,这个规定在Java Language 规范已经写明。如果Bean已经在别的“<jsp:useBean>”标记中创建,则当使用这个已经创建过Bean时,id的值必须与原来的那个id值一致;否则则意味着创建了同一个类的两个不同的对象。

n2scope="page | request | session | application"

nBean存在的范围以及id变量名的有效范围。缺省值是page,以下是详细说明:

npage - 能在包含“<jsp:useBean>”元素的JSP文件以及此文件中的所有静态包含文件中使用这个Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。

nrequest - 在任何执行相同请求的Jsp文件中使用这个Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。能够使用Request对象访问这个Bean,比如request.getAttribute(beanInstanceName)

nsession - 从创建Bean开始,就能在任何使用相同sessionjsp文件中使用这个Bean。这个Bean存在于整个Session生存周期内,任何在分享此SessionJsp文件都能使用同一Bean。注意在创建这个BeanJsp文件中“<% @ page %>”指令中必须指定“session="true"”

napplication - 从创建Bean开始,就能在任何使用相同applicationJsp文件中使用Bean。这个Bean存在于整个application生存周期内,任何在分享此applicationJsp文件都能使用同一Bean.  

n3class="package.class"

n使用new关键字以及class构造器从一个class中实例化一个bean。这个class不能是抽象的,必须有一个公用的,没有参数的构造器。这个package的名字区别大小写。

n 4type="package.class"

n如果这个Bean已经在指定的范围中存在,那么赋予这个Bean一个的数据开库类型 。如果使用type属性的同时没有使用classbeanNameBean将不会被实例化。注意packageclass的名称区分大小写。

n5beanName="{package.class | <%= expression %>}" type="package.class"

n使用java.beans.Beans.instantiate方法来从一个class或串行化的模板中实例化一个Bean,同时指定Bean的类型。 Beans.instantiate方法将检查此名称是否表示一个类或一个串行化模板。如果这个Bean是被串行化的,那么Beans.instantiate方法将通过使用一个类装载器读取串行化格式(类似package.class.ser)。

nbeanName可以是packageclass,也可以是表达式,它的值会传给Beans.instantiate方法。type的值可以和Bean相同,也可以是它的基类,或者是它所实现的接口。   package class 名字区分大小写


设置Bean的属性值.

n JSP 语法格式如下:

<jsp:setProperty

         name="beanInstanceName"

         {

             property= "*"    |

             property="propertyName" [ param="parameterName" ]    |

             property="propertyName" value="{string | <%= expression %>}"

         }

/>

属性

n1name="beanInstanceName"

n表示已经在“<jsp:useBean>”中创建的Bean实例的名字。

n2property="*"

n储存用户在jsp输入的所有值,用于匹配Bean中的属性。

n 3property="propertyName" [ param="parameterName" ]

n用一个参数值来指定Bean中的一个属性值,一般情况下是从request对象中获得的。其中property指定Bean的属性名,param指定request中的参数名。

n4property="propertyName" value="{string | <%= expression %>}"

n使用指定的值来设定Bean属性。这个值可以是字符串,也可以是表达式。如果这个字符串,那么它就会被转换成Bean属性的类型(转换方法见表4.1)。如果是一个表达式,那么它的类型就必须和将要设定的属性值的类型一致。

n如果参数值为空值,那么对应的属性值也不会被设定。此外,不能在同一个“<jsp:setProperty>”中同时使用paramvalue参数

package rmg;

public class student {

private long classNo;

private String name;

private int age;

private boolean sexy;

  public student() {       //构造函数

    classNo=970431;

    name="ZZZl";

    age=34;

    sexy=true;

  }

public long getClassNo() {

    return classNo;

  }

  public void setClassNo(long no) {

    this.classNo=no;

  }

  public String getName() {

    return name;

  }

  public void setName(String name) {

    this.name=name;

  }

  

   public int getAge() {

    return age;

  }

  public void setAge(int age) {

    this.age=age;

  }

  

  public boolean getSexy() {

    return sexy;

  }

  public void setSexy(boolean sexy) {

    this.sexy=sexy;

  }

}

<%--JavaBean.jsp文件,理解useBean动作的scope作用范围 --%>

<html>

<body>

<%-- 引用自己编写的javaBean生成的bean组件 --%>

<jsp:useBean id="student" scope="application" class="rmg.student" />

<%=student.getname()%><br>

<% student.setname("cong"); %>

<%-- getProperty动作来返回bean组件的属性值 --%>

<jsp:getProperty name="student" property="classNo" /> <br>

<jsp:getProperty name="student" property="name" /> <br>

<jsp:getProperty name="student" property="age" /> <br>

<jsp:getProperty name="student" property="sexy" /> <br>

<%-- 取属性值 --%>

<%=student.getClassNo() %> <br>

<%=student.getName() %> <br>

<%=student.getAge() %> <br>

<%=student.getSexy() %> <br>

<%--引用Java类库中生成的bean组件 --%>

<jsp:useBean id="date" scope="session" class="java.util.Date" />

<%=date%><br>

</body>

</html>

<jsp:getProperty name="beanInstanceName" property="propertyName" />

属性:

1name="beanInstanceName"

     bean的名字,由<jsp:useBean>指定。

2property="propertyName"

所指定的Bean的属性名。

<jsp:getProperty>例子

<html>

//声明引用的bean

<jsp:useBean id="calendar" scope="page" class="employee.Calendar" />

       <head>

       <title>test</title>

       </head>

       <body>  

       Calendar of <jsp:getProperty name="calendar" property="username" />

       </body>

</html>

posted on 2008-05-02 14:23  小顾问  阅读(4316)  评论(0)    收藏  举报