JSP动作元素之useBean、setProperty、getProperty指令
简介
这三个指令都是与JavaBean相关的指令,其中useBean指令用于在JSP页面中初始化一个Java实例;setProperty指令用于为JavaBean实例的属性设置值;getProperty指令用于输出JavaBean实例的属性。
如果多个JSP页面需要重复使用某段代码,我们可以把这段代码定义成Java类的方法,然后让多个JSP页面调用该方法即可,这样可以达到很好的代码复用。
语法格式
useBean
useBean语法格式如下:
<jsp:useBean id="name" class="classname" scope="page|request|session|application"></jsp:useBean> |
其中id是JavaBean的实例名,class属性确定JavaBean的实现类。Scope属性用于指定JavaBean实例的作用范围:
- page:仅在该页面有效。
- request:在本次请求有效。
- session:在本次session内有效。
- application:在本次应用内一直有效。
setProperty
setProperty语法格式如下:
<jsp:setProperty property="ProtertyName" name="BeanName" value="value"/> |
name属性是需要设定JavaBean的实例名;property属性确定需要设置的属性名;value属性则确定需要设置的属性值。
getProperty
getProperty语法格式如下:
<jsp:getProperty property="ProtertyName" name="BeanName" /> |
name属性确定需要输出的JavaBean的实例名,property属性确定需要输出的属性名。
实例
beanTest.jsp
<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Java Bean text</title> </head> <body> <!-- 创建lee.Person 实例,该实例的名称是p1--> <jsp:useBean id="p1" class="Person" scope="page"> </jsp:useBean>
<jsp:setProperty name="p1" property="name" value="waw"/> <jsp:setProperty name="p1" property="age" value="29"/>
<jsp:getProperty name="p1" property="name" /> <jsp:getProperty name="p1" property="age" /> </body> </html> |
Person类源代码
public class Person { private String name; public Person(){
} public Person(String name,int age){
} 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; } private int age;
} |