<jsp:useBean>标签和<jsp:setProperty>标签

 <jsp:useBean>标签用来在JSP页面中创建一个Bean实例。并指定它的名字及作用范围。它保证对象在标签指定的范围内可以使用。

语法如下:

<jsp:useBean id="id" scope="page|request|session|application" typeSpec />

id为大小敏感的名字,用来表示这个实例;

scope表示此对象可以使用的范围;

typeSpec可以为以下四者之一:

·    class="className"  Bean的类路径和类名。这个class不能是抽象的,必须有一个共用的,没有参数的构造器。

·    class="className" type="typeName" 实例化一个Bean,同时还可以指定Bean的类型。

·    beanName="beanName" type="typeName"

·    type="typeName"

 

 

例:

Bean,定义Bean,定义了userName,password,age三个变量及三个变量的get/set方法。

package com.jspdev.ch3;

public class TestBean{

    public String userName;

    public String password;

    public int age;

   

    public void setUserName(String name){

       this.userName=name;

    }

    public void setPassword(String password){

       this.password=password;

    }

    public String  getUserName(){

       return this.userName;

    }

    public String getPassword(){

       return password;

    }

    public int getAge(){

       return this.age;

    }

    public void setAge(int age){

       this.age=age;

    }

}

 

表单,定义了表单中的参数,注意参数名和Bean中定义的变量需要一致(包括大小写)。

<html>

<body>

用户信息注册:<br><hr>

<form method="get" action="register.jsp">

<table>

<tr><td>姓名:<input name="userName" type="text"></td></tr>

<tr><td>密码:<input name="password" type="password"></td></tr>

<tr><td>年龄:<input name="age" type="text"></td></tr>

<tr><td><input type=submit value="submit"></td></tr>

</table>

</form>

</body>

</html>

 

JSP,<jsp:useBean>标签指了在本页面中使用JavaBean,此JavaBean的类为com.jspdev.ch3.TestBean,ID为"user"。

使用方法<jsp:setProperty>将request中的参数与JavaBean中的参数对应起来。name为之前用jsp:useBean引入的名称即,"user"。

使用user.getUserName()方法来获得用户名信息,这的"user"实际上指向一个JavaBean对象。也可以使用

<jsp:getProperty name="user" property="userName"/>来获得JavaBean的属性。

<%@ page contentType="text/html;charset=gb2312"%>

<jsp:useBean id="user" scope="page" class="com.jspdev.ch3.TestBean"/>

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

<html>

<body>

注册成功:<br>

<hr>

使用bean属性方法:<br>

用户名:<%=user.getUserName() %><br>

密码:<%=user.getPassword() %><br>

年龄:<%=user.getAge()%><br>

<hr>

使用getProperty:<br>

用户名:<jsp:getProperty name="user" property="userName"/><br>

密码:<jsp:getProperty name="user" property="password"/><br>

年龄:<jsp:getProperty name="user" property="age"/><br>

</body>

</html>

<jsp:setProperty>标签,用来和useBean一起协作,用来设置Bean的简单属性和索引属性。

语法如下:

<jsp:setProperty name="beanName" propertyDetails />

name="beanName"为必选属性,其值为Bean的名字,在这之前用jsp:userBean引入的名称。

proertyDetails可以有四种不同的方法。

  • ·    property="*" 设置Bean快捷方式,在Bean中,属性的名字、类型必须和request对象中的参数名称相匹配。
  • ·    property="propertyName" param="parameterName"  将Bean中的变量和request中的参数对应起来。property为Bean的属性名,param为request中的参数名。

·    property="propertyName"      

·    property="propertyName" value="propertyValue"  直接设置Bean的值。

 

举例说明,当使用property="*"时,可以如下操作:

<html>

<body>

用户信息注册:<br><hr>

<form method="get" action="register.jsp">

<table>

<tr><td>姓名:<input name="userName" type="text"></td></tr>

<tr><td>密码:<input name="password" type="password"></td></tr>

<tr><td>年龄:<input name="age" type="text"></td></tr>

<tr><td><input type=submit value="submit"></td></tr>

</table>

</form>

</body>

</html>

对以上HTML语言,在Bean已经写好前提下,可以使用如下的代码:

<jsp:useBean id="user" scope="page" class="com.jspdev.ch3.TestBean"/>

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

<html>

<body>

注册成功:<br>

<hr>

使用bean属性方法:<br>

用户名:<%=user.getUserName() %><br>

密码:<%=user.getPassword() %><br>

年龄:<%=user.getAge()%><br>

<hr>

使用getProperty:<br>

用户名:<jsp:getProperty name="user" property="userName"/><br>

密码:<jsp:getProperty name="user" property="password"/><br>

年龄:<jsp:getProperty name="user" property="age"/><br>

*<jsp:getProperty>标签,用来访问Bean的属性。<jsp:getProperty name="user" property="userName"/>中,name="user",是使用<jsp:useBean>所获取的Bean;property="userName",是Bean中的变量名,也可以理解为是HTML中的<input name="password" type="password">

posted on 2013-06-28 16:47  追风少年xiaoT  阅读(162)  评论(0)    收藏  举报

导航