您的位置:首页 > 运维架构

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

2013-04-25 13:39 567 查看
<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>姓名:<inputname="userName"type="text"></td></tr>

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

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

<tr><td><inputtype=submitvalue="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:getPropertyname="user" property="userName"/>来获得JavaBean的属性。
<%@ pagecontentType="text/html;charset=gb2312"%>

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

<jsp:setPropertyname="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:setPropertyname="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>姓名:<inputname="userName"type="text"></td></tr>

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

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

<tr><td><inputtype=submitvalue="submit"></td></tr>

</table>

</form>

</body>

</html>


对以上HTML语言,在Bean已经写好前提下,可以使用如下的代码:
<jsp:useBean id="user"scope="page"class="com.jspdev.ch3.TestBean"/>

<jsp:setPropertyname="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:getPropertyname="user"property="userName"/>中,name="user",是使用<jsp:useBean>所获取的Bean;property="userName",是Bean中的变量名,也可以理解为是HTML中的<inputname="password" type="password">

原文来自:http://blog.sina.com.cn/s/blog_66c2c28e01017113.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: