1.JSP页面中有3个与JavaBean相关的标记:
(1)<jsp:useBean>
声明一个具有一定生存范围及一个唯一id的JavaBean的实例,JSP页面通过id来识别JavaBean。
例如:<jsp:useBean id="stu" class="com.bean.Student" scope="page"/>
id属性是强制性属性,用来唯一的标志一个JavaBean。
class属性:包名+类名。
scope属性:bean的作用域,application、session、request、page,默认的为page。
(2)<jsp:getProperty>
用来返回一个已被创建的bean组件的属性值。
例如:<jsp:getProperty name="stu" property="age"/>
name属性:对应着JavaBean组件的id值。
property属性:要获取的JavaBean属性的名称。
<===> <%=stu.getAge()%>
(3)<jsp:setProperty>
用来设定一个已被创建的bean组件的属性值。
例如:<jsp:setProperty name="stu" property="age" value="23" />
属性意义与上相同。
2.应用举例
(1)这是一个JavaBean
package com.bean;
public class Student {
private long no;
private String name;
private int age;
private boolean sex;
private String major;
public Student(){
}
public long getNo() {
return no;
}
public void setNo(long no) {
this.no = no;
}
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;
}
public boolean isSex() {
return sex;
}
public void setSex(boolean sex) {
this.sex = sex;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
}
(2)JSP页面
<body>
<jsp:useBean id="stu" scope="page" class="com.bean.Student"/>
使用标记获取JavaBean属性:
<jsp:getProperty property="name" name="stu"/>
<br/>
使用对象方法获取JavaBean属性:
<%=stu.getName() %>
<br/>
使用标记设置name属性的值为temp
<jsp:setProperty property="name" name="stu" value="temp"/>
<br/>
获取新的属性:
<jsp:getProperty property="name" name="stu"/>
<br/>
使用对象方法设置新的属性:
<% stu.setName("hh"); %>
<br/>
获取新的属性:
<%=stu.getName() %>
<br/>
设置age:
<jsp:setProperty property="age" name="stu" value="23"/>
<br/>
获取age:
<jsp:getProperty property="age" name="stu"/>
</body>
(3)结果
使用标记获取JavaBean属性: null
使用对象方法获取JavaBean属性: null
使用标记设置name属性的值为temp
获取新的属性: temp
使用对象方法设置新的属性:
获取新的属性: hh
设置age:
获取age: 23
3.可以使用下面方法设置JavaBean属性
利用request对象中的参数来设置JavaBean属性:
语法:<jsp:setProperty property="no" name="stu" param=="sno"/>
注意:如果参数值为空值,则不会被设定;不能同时使用param和value参数。
举例如下:
(1)test.html
<form action="param.jsp">
学号:<input type="text" name="sno"/><br/>
姓名:<input type="text" name="sname"/><br/>
年龄:<input type="text" name="sage"/><br/>
性别:<input type="text" name="ssex"/><br/>
专业:<input type="text" name="smajor"/><br/>
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</form>
(2)param.jsp
<body>
<jsp:useBean id="stu" class="com.bean.Student" scope="page"/>
<jsp:setProperty property="no" name="stu" param="sno"/>
<jsp:setProperty property="name" name="stu" param="sname"/>
<jsp:setProperty property="age" name="stu" param="sage"/>
<jsp:setProperty property="sex" name="stu" param="ssex"/>
<jsp:setProperty property="major" name="stu" param="smajor"/>
取出设置的值:
<jsp:getProperty property="no" name="stu"/>
<jsp:getProperty property="name" name="stu"/>
<jsp:getProperty property="age" name="stu"/>
<jsp:getProperty property="sex" name="stu"/>
<jsp:getProperty property="major" name="stu"/>
</body>