<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">
浙公网安备 33010602011771号