-熟練掌握邏輯標籤的使用
-熟練掌握ui標籤的使用
-熟練掌握在struts2的標籤中使用ognl表示式
標籤為什麼使用標籤?
生成頁面效果
簡化功能的呈現
剝離頁面中的邏輯**
便於美工的維護
作為mvc框架的最重要的兩個部分就是控制器和檢視,檢視部分主要通過標籤來實現。
struts2的標籤庫基於ognl實現,相比於struts1的標籤庫區別主要在以下幾點:
(1)基於ognl實現的struts2標籤對於集合、陣列的訪問更加強大。
(2)所有標籤類別統一集中在乙個庫中
(3)整合了dojo的支援,頁面呈現更豐富。
(4)提供了ajax的支援
(5)不依賴於表現層技術
struts2標籤從功能上看主要分為
邏輯標籤
ui標籤
使用struts2標籤
<%
@taglib
prefix
="s"
uri=
"/struts-tags"
%>
邏輯標籤
(1)property標籤
用於使用ognl表示式輸出資料
例如:訪問context中session的資料
value
="#session.loginuser.username"
/>
訪問valuestack中action的屬性
value
="username"
/>
value
="#attr.msg"
/>
(2)if標籤、esle標籤
if標籤用於條件判斷
esle標籤必須結合if標籤使用,表示沒有滿足的情況
test
="#session.loginuser==null"
>
href
="#"
>
login
歡迎
value
="#session.loginuser.username"
/>
登陸
(3)set標籤
用來在context中新增乙個鍵值對
var :寫入contextvalue中的鍵
value:寫入contextvalue中的值,通過ognl獲取,如果值為基本資料型別通過單引號寫入
var=
"map"
value
="#"
>
(4)iterator標籤
用來迭代集合
var:
寫入contextvalue中的鍵
value:迭代的集合或陣列使用ognl獲取
status:每個元素的狀態
var=
"str"
value
="#list"
status
="status"
>
${}status.index+1}$
用於將多個集合拼成乙個集合,需要結合子標籤
var:
寫入contextvalue中的鍵
var=
"newlist"
>
value
="#list1"
>
value
="#list2"
>
:
/>
val=
"str"
value
="#newlist"
status
="status"
>
(6)subset標籤
用於對集合進行擷取
source:被擷取的集合
start:擷取的起始索引
count:擷取的數量
該標籤將產生乙個新的集合存入valuestack棧頂,標籤執行結束,該集合從棧頂移除,因此需要在標籤內進行迭代。
(7)bean標籤
用來建立物件
name:建立物件的class
var:
寫入contextvalue中的鍵
name
="com.niit.bean.user"
var=
"user"
>
name
="username"
value
="tom"
>
value
="#user.username"
/>
(8)date標籤
用來格式化時間
name:時間的值
format:格式化字串
nice:是否顯示時間差
name
="#date"
format
="yyyy-mm-dd hh:mm:ss"
/>
(9)include標籤
動態包含 包含jsp介面或servlet介面
value 包含的頁面路徑
(10)url標籤
產生乙個url位址
var:
寫入contextvalue中的鍵
var=
"loginurl"
action
="login.action"
>
href
="%"
>
login
%{}
表示將字串按照ognl表示式來讀取,使得超連結既能夠使用常值,又可以使用變值。
ui標籤
struts2內建4個主題,通過theme屬性設定
******、xhtml、css_xhtml、ajax
常用的ui標籤
form
textfield
password
checkbox
radio
select
。。。。。。
ui標籤的使用與普通html標籤類似,只是標籤通過ognl與action建立了聯絡
特殊屬性
lable屬性 設定標籤對應的文字資訊,主題不能為******
name屬性 值為ognl表示式,獲取valuestack中的action屬性
特殊標籤
checkboxlist標籤
用來設定一組核取方塊
list 使用核取方塊呈現的集合值,使用ognl來獲取
listvalue 通過map集合呈現選項內容的值
listkey 勾選時獲取到的map集合中的鍵
Struts 2 Struts2 詳細配置
全域性配置 配置在packe 中,所有 action 的上面。頁面 頁面 區域性結果優先順序高於全域性。異常資訊配置 404異常 500異常 web.xml 配置 404 error.jsp 500 error.jsp 包 package 配置 所有的action 配置,都必須在包中。jsp頁面路徑...
Struts和struts2的不同
struts和struts2的不同點 1 action struts的action類要求繼承乙個基類。struts2的action類是通過實現介面。2 執行緒模式 struts action執行緒不安全的,單列的模式。struts2 action物件為每個請求產生乙個例項 3 servlet依賴 s...
Struts2字尾 深入Struts2
一 將action字尾變成html字尾 xmlversion 1.0 encoding utf 8 doctype struts public apache software foundation dtd struts configuration 2.1 en struts include file...