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對象