Struts2標籤的總結
一、struts2標籤庫概述:
struts2的標籤庫大大簡化了數據的輸出,也提供了大量標籤來生成頁面效果。
從JSP2.0規範開始,JSP引入了簡化自定義標籤的規範,開發自定義標籤更加簡單,簡化的自定義標籤開發只需要如下幾個步驟:
(1) 開發自定義標籤處理類,標籤處理統一繼承SimpleTagSupport類,無需分別繼承TagSupport 。
(2) 在JSP中使用taglib編譯指定導入標籤庫,然後纔可以使用自定義標籤。
二、struts2標籤的分類:
一共有這樣的四大類:
1、 數據標籤<s:property>:
動態呈現Action執行之後所產生的信息、國際化文本以及Action生成的URL和鏈接等。
2、控制標籤 if/elseif/else <s:iterator>:
用來控制呈現給最終視圖的信息以及控制對集合的操作。
2、 UI標籤:
封裝了HTML表單標籤和其他用戶界面組件。
3、 雜項標籤
三、導入struts2的標籤庫
在JSP頁面中的頭部,這樣導入struts2的標籤庫:
<%@taglib uri="/struts-tags" prefix="s"%>
(1) struts2數據標籤:
1)<s:property>
輸出value所指對象的值,如果value沒提供,默認爲值棧棧頂端的元素。
名稱 |
必需 |
默認 |
類型 |
描述 |
default |
否 |
String |
如果屬性是null則顯示的default值 |
|
escape |
否 |
true |
Booelean |
是否escape HTML |
value |
否 |
棧頂 |
Object |
要顯示的值 |
2) <s:set>
賦予變量一個特定範圍內的值。當希望給一個變量賦一個複雜的表達式,每次訪問該變量而不是複雜的表達式時用到。
名稱 |
必需 |
默認 |
類型 |
描述 |
name |
是 |
String |
變量名字 |
|
scope |
否 |
String |
變量作用域,可以爲application, session, request, page, 或action. |
|
value |
否 |
Object/String |
將會賦給變量的值 |
(2) struts2控制標籤
1) if/elseif/else
執行基本的條件流轉
名稱 |
必需 |
默認 |
類型 |
描述 |
備註 |
test |
是 |
Boolean |
決定標誌裏內容是否顯示的表達式 |
else標誌沒有這個參數 |
2) <s:iterator>
用於遍歷集合(java.util.Collection)或枚舉值(java.util.Iterator)。
名稱 |
必需 |
默認 |
類型 |
描述 |
status |
否 |
String |
如果設置此參數,一個IteratorStatus的實例將會壓入每個遍歷的堆棧 |
|
value |
否 |
Object/String |
要遍歷的可枚舉的(iteratable)數據源,或者將放入新列表(List)的對象 |
(3) struts2雜項標籤
1)<s:url>用於創建url可以通過"param"標籤提供request參數。
名稱 |
必需 |
默認 |
類型 |
描述 |
id |
否 |
String |
ID |
|
scope |
否 |
String |
變量作用域,可以爲application, session, request, page, 或action. |
|
value |
否 |
Object/String |
將會賦給變量的值 |
2)<s:include>
包含一個servlet的輸出(servlet或jsp的頁面)。
名稱 |
必需 |
默認 |
類型 |
描述 |
status |
否 |
String |
如果設置此參數,一個IteratorStatus的實例將會壓入每個遍歷的堆棧 |
|
value |
否 |
Object/String |
要遍歷的可枚舉的(iteratable)數據源,或者將放入新列表(List)的對象 |
3)<s:param>
爲其他標籤提供參數,比如include標籤和bean標籤.
名稱 |
必需 |
默認 |
類型 |
描述 |
name |
否 |
String |
參數名 |
|
value |
否 |
String |
value表達式 |
(4) struts2UI標籤
以下是UI標籤的同樣屬性:
屬性 |
Theme |
數據類型 |
描述 |
name |
simple |
String |
表單元素映射的名字 |
value |
simple |
Object |
表單元素的值 |
label |
xhtml |
String |
xhtml theme中使用的label(simple theme會忽略) |
labelposition |
xhtml |
String |
label元素的位置。默認label位於元素的左邊 |
required |
xhtml |
Boolean |
是否必填 |
id |
simple |
String |
HTML id屬性 |
cssClass |
simple |
String |
class屬性 |
cssStyle |
simple |
String |
style屬性 |
disabled |
simple |
Boolean |
disabled屬性 |
tabindex |
simple |
String |
tabindex屬性 |
theme |
String |
模板主題 |
|
template |
String |
模板 |
1) form標籤
生成HTML form標記
屬性 |
數據類型 |
描述 |
action |
String |
要提交的Action名字 |
namespace |
String |
Action的命名空間,默認的命名空間取決於當前的request |
method |
String |
post或get |
target |
String |
目標窗口,比如框架名、_blank、_top等 |
enctype |
String |
文件上傳設置爲multipart/form-data |
validate |
Boolean |
進行客戶端校驗 |
2) textfield標籤和password標籤
生成HTML 文本輸入控件和密碼輸入控件
屬性 |
數據類型 |
描述 |
maxlength |
String |
可輸入最大長度 |
readonly |
Boolean |
|
size |
String |
可視尺寸 |
show |
Boolean |
password標籤專用,回顯密碼,默認爲false |
3) textarea標籤
生成HTML 文本輸入框控件
屬性 |
數據類型 |
描述 |
cols |
String |
|
rows |
String |
|
readonly |
Boolean |
|
wrap |
Boolean |
指定文本區域內的內容是否應該換行 |
4) checkbox標籤
生成HTML 單值的複選框
屬性 |
數據類型 |
描述 |
fieldValue |
String |
複選框被選中時提交給Action的值 |
5) select標籤
生成HTML 下拉選框
屬性 |
數據類型 |
描述 |
list |
集合 |
爲下拉選項提供數據 |
listKey |
String |
集合中元素Bean的屬性用於選項的value |
listValue |
String |
集合中元素Bean的屬性用於選項的文本 |
headerKey |
String |
首選現的value |
headerValue |
String |
首選項的文本 |
emptyOption |
Boolean |
是否放置空選項在首選現和實際選現之間 |
multiple |
Boolean |
是否多選 |
size |
String |
顯示條數 |
6) radio標籤
生成HTML 單選按鈕組
屬性 |
數據類型 |
描述 |
list |
集合 |
爲單選選項提供數據 |
listKey |
String |
集合中元素Bean的屬性用於選項的value |
listValue |
String |
集合中元素Bean的屬性用於選項的文本 |
7) hidden標籤
生成HTML 隱藏輸入控件