1. JavaBean简介
JavaBean就是符合某种特定的规范的Java类。使用JavaBean的好处是解决代码重复编写,减少代码冗余,功能区分明确,提高了代码的维护性。
2. JSP动作
JSP动作元素(action elements),动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签。
(1). 第一类是与存取JavaBean有关的,包括:
<jsp:Bean><jsp:setProperty><jsp:getProperty>
(2). 第二类是JSP1.2就开始有的基本元素,包括6个动作元素
<jsp:include><jsp:forward><jsp:param><jsp:plugin><jsp:params><jsp:fallback>
(3). 第三类是JSP2.0新增加的元素,主要与JSP Document有关,包括六个元素
<jsp:root><jsp:declaration><jsp:scriptlet><jsp:expression><jsp:text><jsp:output>
(4). 第四类是JSP2.0新增的动作元素,主要是用来动态生成XML元素标签的值,包括3个动作
<jsp:attribute><jsp:body><jsp:element>
(5). 第五类是JSP2.0新增的动作元素,主要是用在Tag File中,有2个元素
<jsp:invoke><jsp:dobody>
3. 在JSP页面中使用JavaBean
(1). 像使用普通java类一样,创建JavaBean。
导入相关包直接使用即可。
(2). 在JSP页面中使用JSP动作标签。
<jsp:useBean>:在JSP页面中实例化或者在指定范围内使用JavaBean
语法:
<jsp:useBean id="标示符" class="java类名" scope="作用范围" />
只有当不存在id所指示的bean时才会创建一个新的bean,否则会使用存在的id的bean。
例如:
<jsp:useBean id="user" class="com.thr.bean.User" scope="page" />
用户名:<%=user.getName()%><br /> 密码:<%=user.getPassword()%><br />
<jsp:setProperty>:给已经实例化的JavaBean对象的属性赋值,一共有四种形式
语法:
1) <jsp:setProperty name="JavaBean实例名" property="*" />(跟表单关联)
当表单中控件的name属性和JavaBean中的属性名一致时,进行匹配。
2) <jsp:setProperty name="javaBean实例名" property="JavaBean属性名" />(跟表单关联)
当表单中控件的name属性和JavaBean中的属性名一致时,只匹配指定的属性。
3) <jsp:setProperty name="javaBean实例名" property="JavaBean属性名" value="BeanValue" />(手工设置)
人为的设置属性名的属性值,和表单无关。
4) <jsp:setProperty name="javaBean实例名" property="propertyName" param="request对象中的参数名" />(跟request参数相关)
通过从request传参数过来获取的值来赋给property属性。
<jsp:getProperty>:获取指定JavaBean对象的属性值。
语法:
<jsp:getProperty name="JavaBean实例名" property="属性名" />
4. JavaBean的四个作用域范围
使用useBeans的scope属性可以用来指定JavaBean的作用范围
page:仅在当前页面有效
request:可以通过HttpRequest.getAttribute()方法取得JavaBean对象
session:可以通过HttpSession.getAttribute()方法取得JavaBean对象
application:全局有效,可以通过application.getAttribute()方法取得JavaBean对象