JavaBean
JavaBean组件引入
JavaBean 是使用 Java 语言开发的一个可重用的组件,在 JSP 开发中可以使用 JavaBean 减少重复代码,使整个JSP 代码的开发更简洁。
jsp:useBean 创建 javabean
<jsp:useBean id=“实例化对象名称” scope=“保存范围” class=“类完整名称”/>
Scope,一共有 page,request,session 和 application4 个属性范围,默认是 page;
创建实体
package model;
public class Student {
private String name;
private 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;
}
}
使用Javabean访问实体
<jsp:useBean id="student" scope="page" class="model.Student"/>
<%
student.setName("张三");
student.setAge(20);
%>
<h1>姓名:<%=student.getName() %></h1>
<h1>年龄:<%=student.getAge() %></h1>
jsp:setProperty 设置 javabean 属性值
<jsp:setProperty property=“属性名称” name=“实例化对象的名称” value=“属性值” param=“参数名称”/> Property=”*” 自动匹配所有
建立一个form表单
<form action="javabean3-2.jsp" method="post">
<table>
<tr>
<td>姓名</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" name="age" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交" /></td>
</tr>
</table>
</form>
javabean3-1.jsp中使用setProperty 设置 javabean 属性值,处理from表单
<jsp:useBean id="student" scope="page" class="model.Student"></jsp:useBean>
<jsp:setProperty property="*" name="student"/>
<h1>姓名:<%=student.getName() %></h1>
<h1>年龄:<%=student.getAge() %></h1>
** 注:若在value中设置了属性值,则无论form表单中的属性值为多少,最终获取的属性值仍为value的设置值**
jsp:getProperty 获取 javabean 属性值
<jsp:getProperty property=“属性名称” name=“实例化对象的名称”/>
<jsp:useBean id="student" scope="page" class="model.Student"/>
<%
student.setName("张三");
student.setAge(20);
%>
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
javabean 的保存范围
Javabean 的保存范围有 page,request,session.application,默认是 page;
request
<jsp:useBean id="student" scope="request" class="model.Student"/>
<jsp:setProperty property="name" name="student" value="老王"/>
<jsp:setProperty property="age" name="student" value="56"/>
<jsp:forward page="target1.jsp"></jsp:forward>
target1.jsp页面
<jsp:useBean id="student" scope="request" class="model.Student"/>
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
session
<jsp:useBean id="student" scope="session" class="model.Student"/>
<jsp:setProperty property="name" name="student" value="老王"/>
<jsp:setProperty property="age" name="student" value="56"/>
<h1>session值创建成功</h1>
<jsp:useBean id="student" scope="session" class="model.Student"/>
<h1>取session中的值</h1>
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
application
<jsp:useBean id="student" scope="application" class="model.Student"/>
<jsp:setProperty property="name" name="student" value="老李"/>
<jsp:setProperty property="age" name="student" value="28"/>
<h1>application值创建成功</h1>
<jsp:useBean id="student" scope="application" class="model.Student"/>
<h1>取application中的值</h1>
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
javabean 删除
Page 范围:pageContext.removeAttribute(“javaBean Name”);
request 范围:request.removeAttribute(“javaBean Name”);
session 范围:session.removeAttribute(“javaBean Name”);
application 范围:application.removeAttribute(“javaBean Name”);