<jsp:useBean>标签用来在JSP页面中创建一个Bean实例。并指定它的名字及作用范围。它保证对象在标签指定的范围内可以使用。
语法如下:
<jsp:useBean id="id"scope="page|request|session|application" typeSpec/>
id为大小敏感的名字,用来表示这个实例;
scope表示此对象可以使用的范围;
typeSpec可以为以下四者之一:
·
·
·
·
例:
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="*"时,可以如下操作:
<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