轉(zhuǎn)自: http://www.javaeye.com/topic/722042
a
a標(biāo)簽創(chuàng)建一個(gè)HTML超鏈接,等價(jià)于HTML 的<a href=""....
示范代碼:
<s:a href="login.action">登陸</s:a>
更多 a 信息
action
使用action標(biāo)簽 可以允許在JSP頁(yè)面中直接調(diào)用Action。
范例如下:
<s: action name="tag2" executeResult="false" />
更多 action 信息
actionerror
這個(gè)標(biāo)簽負(fù)責(zé)輸出錯(cuò)誤信息到客戶端。
示范代碼:
Action代碼如下:
public String execute()
{
addActionError("第一條錯(cuò)誤消息!");
addActionError("第二條錯(cuò)誤消息!");
return SUCCESS;
}....
JSP中:<s:actionerror/>
更多 actionerror 信息
actionmessage
這個(gè)標(biāo)簽負(fù)責(zé)輸出提示信息到客戶端,例子如下:
Action代碼如下:
public String execute()
{
addActionMessage("第一條普通消息!");
addActionMessage("第二條普通消息!");
return SUCCESS;
}
JSP:<s:actionmessage />
更多 actionmessage 信息
append
用來做iterator標(biāo)簽的輔助,將不同iterator中的內(nèi)容合在一個(gè)iterator中。
例子:
<s:append id="myAppendIterator">
<s:param value="%{myList1}" />
<s:param value="%{myList2}" />
<s:param value="%{myList3}" />
</s:append>
<s:iterator value="%{#myAppendIterator}">
<s:property />
</s:iterator>
更多 append 信息
bean
bean標(biāo)簽 用于創(chuàng)建一個(gè)JavaBean的實(shí)例。
示范樣例:
<s:bean name="lee.Person" id=“p”>
<!--使用Param標(biāo)簽為lee。Person類的實(shí)例傳入?yún)?shù)-->
<s:param name="name" value="'yeeku'"/>
<s:param name="age" value="29"/>
</s:bean>
更多 bean 信息
checkbox
checkbox標(biāo)簽輸出一個(gè)HTML復(fù)選框,等價(jià)于HTML代碼:<input type="checkbox" .../>。
示范代碼:
<s:checkbox label="性別" name="user.sex" value="true" fieldValue="dddd"/>
更多 checkbox 信息
checkboxlist
標(biāo)簽輸出一個(gè)復(fù)選框。
示范代碼:
<s:form>
<s:checkboxlist name="interest" list="{'足球','籃球','排球','游泳'}" label="興趣愛好"/>
</s:form>
更多 checkboxlist 信息
combobox
combobox標(biāo)簽生成一個(gè)單行文本框和下拉列表框的結(jié)合。
示范代碼:
<s:combobox label="請(qǐng)選擇您喜歡的圖書" theme="css_xhtml" labelposition="top"
list="{'Spring2.0' , 'J2EE' , 'Ajax'}"
size="20" maxlength="20" name="book"/>
更多 combobox 信息
conponent
conponent標(biāo)簽用于使用自定義標(biāo)簽。因?yàn)槭褂米远x組件還是基于主題,模板管理的,因此在使用component標(biāo)簽,常常需要指定如下3個(gè)屬性:
theme:自定義組件所使用的主題,默認(rèn)使用xhtml主題。
templateDir:指定自定義組件的主題目錄,默認(rèn)使用系統(tǒng)的主題目錄,即template目錄。
template:指定自定義組件所使用的模板。
示范代碼:
<s:component template="mytemplate.jsp">
<s:param name="list" value="{'Spring2.0' , 'J2EE' , 'Ajax'}" />
</s:component>
更多 conponent 信息
date
date標(biāo)簽 用于格式化輸入一個(gè)日期,還可以計(jì)算指定日期和當(dāng)前時(shí)刻之間的時(shí)差。
示范代碼:
<s:date name="#attr.now" format="dd/MM/yyyy" nice=“true”/>
更多 date 信息
datetimepicker
datetimepicker標(biāo)簽就是生成一個(gè)有日期控件的文本輸入框。它有一個(gè)前提就是要在<head></head>內(nèi)加一個(gè)"<s:head theme="ajax" />",然后可以在form內(nèi)加上該標(biāo)簽。
示范代碼:
<s:datetimepicker name="user.birthday" label="出生日期" value="%{'2008-9-20'}"/>
更多 datetimepicker 信息
debug
debug標(biāo)簽主要用于輔助測(cè)試,它在頁(yè)面上生成一個(gè)超鏈接,通過該鏈接可以查看ValueStack和Stack Context 中的所有值信息。
使用debug標(biāo)簽只有一個(gè)id屬性,這個(gè)屬性僅僅是該元素一個(gè)引用id。
在頁(yè)面上增加<s:debug/>標(biāo)簽,通過debug標(biāo)簽,可以看的系統(tǒng)中ValueStack離得全部信息,并可以看到Stack Context中的屬性。
<s:debug></s:debug>
//直接在jsp頁(yè)面上面添加這樣的標(biāo)簽,就可以生產(chǎn)一個(gè)查看debug信息的鏈接
更多 debug 信息
示范代碼:
div
div是struts2 ajax中最基礎(chǔ)的標(biāo)簽,其他的標(biāo)簽均和div有關(guān)系。div的最大的用途就是可以異步的更新div中的內(nèi)容。這里寫一些div基本的應(yīng)用,其他的等寫別的標(biāo)簽的時(shí)候再寫。
示范代碼:
<s:div href="%{url}">Initial Content</sx:div>
<!--最簡(jiǎn)單的例子,從指定的url獲取信息更新自己的內(nèi)容-->
更多 div 信息
doubleselect
doubleselect標(biāo)簽輸出關(guān)聯(lián)的兩個(gè)HTML列表框,產(chǎn)生聯(lián)動(dòng)效果。
<s:doubleselect
label="請(qǐng)選擇所在省市" name="province" list="provinces" listKey="id"
listValue="name" doubleList="cities"
doubleListKey="id" doubleListValue="name"
doubleName="city" headerKey="-1"
headerValue="--- 請(qǐng)選擇 ---"
emptyOption="true" />
更多 doubleselect 信息
else
else標(biāo)簽用來控制基本的條件處理流程,通常和if、elseif標(biāo)簽連用。
例子
<s:if test="%{false}">
<div>Will Not Be Executed</div>
</s:if>
<s:elseif test="%{true}">
<div>Will Be Executed</div>
</s:elseif>
<s:else>
<div>Will Not Be Executed</div>
</s:else>
更多 else 信息
elseif
elseif標(biāo)簽用來控制基本的條件處理流程,通常和if標(biāo)簽連用。
例子
<s:if test="%{false}">
...</s:if>
<s:elseif test="%{true}">
<div>Will Be Executed</div>
</s:elseif>
<s:else>
...</s:else>
更多 elseif 信息
fielderror
fielderror標(biāo)簽輸出action的fieldErrors屬性保存的字段錯(cuò)誤,fieldErrors是一個(gè)map類型的屬性。
示范代碼:
<s:fielderror/>
更多 fielderror 信息
file
file標(biāo)簽輸出一個(gè)HTML文件選擇框,等價(jià)于html代碼:<input type="file" .../>。
示范代碼:
<s:file name="uploadfile" accept="text/*" />
<s:file name="uploadfile" accept="text/html,text/plain" />
更多 file 信息
form
form標(biāo)簽輸出一個(gè)HTML from
例子:
<s:form action="exampleSubmit" method="post" enctype="multipart/form-data">
<s:submit />
<s:reset />
</s:form>
可以上傳文件的form。
更多 form 信息
generator
使用generator標(biāo)簽可以將指定字符串按指定分隔符分成多個(gè)子串,臨時(shí)生成的多個(gè)子串可以使用iterator標(biāo)簽來迭代輸出。可以這樣理解:generator將一個(gè)字符串轉(zhuǎn)化成一個(gè)集合。在該標(biāo)簽的標(biāo)簽體內(nèi),整個(gè)臨時(shí)生成的集合將位于ValueStack的頂端,蛋一旦該標(biāo)簽結(jié)束,該集合將被移出ValueStack。
更多 generator 信息
head
head標(biāo)簽主要用于成生HTML主要頁(yè)面的HEAD部分。國(guó)為有些主題需要包含特定的CSS和javascript代碼,而該標(biāo)簽則用于生成對(duì)這此CSS和javaScript代碼的引用。
示范代碼:
<head>
<title>page 1</title>
<s:head/>
</head>
更多 head 信息
hidden
hidden標(biāo)簽輸出一個(gè)HTML隱藏表單元素,等價(jià)于HTML代碼:<input type="hidden" .../>。
在xhtml主題下,hidden標(biāo)簽與其他的標(biāo)簽不一樣,hidden標(biāo)簽并不輸出表行。xhtml主題直接從simple主題繼承了
hidden.ftl模板。
示范代碼:
<s:hidden name="id" value="s"/>
更多 hidden 信息
i18n
該標(biāo)簽用于加載資源包到值堆棧。它可以允許text標(biāo)志訪問任何資源包的信息,而不只當(dāng)前action相關(guān)聯(lián)的資源包。
示范代碼:
<s:i18n name="ApplicationMessages">
<s:text name="HelloWorld" />
</s:i18n>
更多 i18n 信息
if
If標(biāo)簽用來控制基本的條件處理流程,通常和else標(biāo)簽或者elseif標(biāo)簽連用。
例子:
<s:if test="%{false}">
<div>Will Not Be Executed</div>
</s:if>
更多 if 信息
include
include標(biāo)簽 用于將一個(gè)JSP頁(yè)面,或者一個(gè)Servlet包含到本頁(yè)面中。
示范代碼:
<h2>使用s:include標(biāo)簽來包含目標(biāo)頁(yè)面</h2>
<s:include value="include-file.jsp"/>
<!--使用include標(biāo)簽來包含其他頁(yè)面,并且傳入?yún)?shù)-->
<s:include value="include-file.jsp">
<s:param name="author" value="'yeeku'" />
</s:include>
更多 include 信息
inputtransferselect
獲取form的一個(gè)輸入
更多 inputtransferselect 信息
iterator
迭代處理一個(gè)java.util.Connection或者java.util.Iterator對(duì)象
例子:
<s:iterator value="users" status="userStatus">
<s:property value="fullName" />
<s:if test="!#userStatus.last">,</s:if>
</s:iterator>
更多 iterator 信息
label
xhtml主題下的label 標(biāo)簽輸出兩個(gè) HTML的label標(biāo)簽(simple主題下的label標(biāo)簽只輸出一個(gè)HTML label標(biāo)簽)。分別位于一行的兩列,左列的label標(biāo)簽器提示作用,右列的label標(biāo)簽用于顯示只讀的action屬性數(shù)據(jù)。
示范代碼:
<s:label label="用戶名" name="user.username"/>
更多 label 信息
merge
合并遍歷集合出來的值,與<s:append>標(biāo)簽用法相似。
例子:
<s:merge id="list">
<s:param value="#request.list1"/>
<s:param value="#request.list2"/>
<s:param value="#request.list3"/>
<s:param value="#request.list4"/>
</s:merge>
<s:iterator value="%{list}">
<s:property/><br>
</s:iterator>
更多 merge 信息
optgroup
optgroup標(biāo)簽用于生成一個(gè)下拉列表框的選項(xiàng)組,因此,該標(biāo)簽必須放在<s:select>標(biāo)簽中使用,一個(gè)下拉列表框中可以包含多個(gè)選項(xiàng)組,因此可以在一個(gè)<s:select>標(biāo)簽中使用多個(gè)<s:optgroup>標(biāo)簽。
<s:select label="選擇您喜歡的圖書" name="book" list="#{'Spring2.0':'李剛','J2EE':'李','Ajax寶典':'李'}"
listKey="value" listValue="key">
<s:optgroup label="Rod Johnson"
list="#{'Expert One-on-One J2EE Design and Development':'Johnson'}"
listKey="value"
listValue="key"/>
<s:optgroup label="David Flanagan"
list="#{'JavaScript: The Definitive Guide':'David'}"
listKey="value"
listValue="key"/>
</s:select>
更多 optgroup 信息
optiontransferselect
optiontransferselect標(biāo)簽創(chuàng)建一個(gè)選項(xiàng)轉(zhuǎn)移列表組建,它由兩個(gè)<select>標(biāo)簽以及它們之間的用于將選項(xiàng)在兩個(gè)<select>之間相互移動(dòng)的按鈕組成。表單提交時(shí),將提交兩個(gè)列表框中選中的選項(xiàng)。
示范代碼:
<s:optiontransferselect
label="最喜愛的圖書"
name="javaBook"
list="{'《Java Web開發(fā)詳解》', '《Struts 2深入詳解》', '《Java快速入門》'}"
doubleName="cBook"
doubleList="{'《VC++深入詳解》', '《C++ Primer》', '《C++程序設(shè)計(jì)語言》'}"/>
更多 optiontransferselect 信息
param
param標(biāo)簽 主要用于為其他標(biāo)簽提供參數(shù)
用法:
<param name="color" value="blue" />
這里color參數(shù)的值是,blue對(duì)象的值----如果blue對(duì)象不存在,則color為null。
更多 param 信息
password
<s:password>標(biāo)簽類同于HTML的<input type=”password” …>,其name和label類同于<s:textfield>
例子:
<s:password name="password" label="密碼"/>
更多 password 信息
property
property標(biāo)簽用于輸出值棧中的對(duì)象的屬性值,使用value屬性來指定要輸出的對(duì)象屬性,如果沒有指定value屬性,那么默認(rèn)輸出棧頂對(duì)象。
例子:
<s:property value="username" default="游客"/>
取出棧頂對(duì)象(通常是action)的username 屬性并輸出,如果沒有找到username屬性,那么輸出“游客”。
更多 property 信息
push
push標(biāo)簽用于將某個(gè)值放到ValueStack的棧頂,可以跟簡(jiǎn)單的訪問該值。
示范樣例:
<s:bean name="lee.Person" id="p">
<s:param name="age" value="29"/>
</s:bean>
<s:push value="#p">
<s:property value="name"/>
<s:propery value="age"/>
</s:push>
更多 push 信息
radio
radio標(biāo)簽的用法與checkboxlist的用法幾乎完全相同,一樣可以指定label, list, listKey, listValue等屬性。
示范代碼:
<s:radio name="c" label="請(qǐng)選擇您喜歡的圖書" labelposition="top"
list="#bs.books"
listKey="author"
listValue="name"/>
更多 radio 信息
reset
reset標(biāo)簽輸出一個(gè)重置按鈕。
示范代碼:
<s:reset value="重置"></s:reset>
<s:reset type="button" label="重置"></s:reset>
更多 reset 信息
select
s:select 標(biāo)簽輸出一個(gè)下拉列表框,相當(dāng)于HTML代碼中的<select/>
示范代碼:
<s:form>
<s:select label="最高學(xué)歷" name="education" list="{'高中','大學(xué)','碩士','博士'}"/>
</s:form>
更多 select 信息
set
set標(biāo)簽是將某個(gè)值放到指定范圍內(nèi), 比如說 student.teacher.parent.age 每次訪問這個(gè)屬性不僅性能低,而且代碼可讀性很差,為了解決這個(gè)問題,可以將這個(gè)值設(shè)置為一個(gè)新值,并且放入指定范圍內(nèi)。
使用示范:
<s:set value="#p" name="test"/>
<s:property value="#test.name"/> <br>
<s:property value="#test.age"/> <br>
sort
對(duì)一個(gè)可以迭代的對(duì)象進(jìn)行排序操作。
<s:sort comparator="myComparator" source="myList">
<s:iterator>
<!-- do something with each sorted elements -->
<s:property value="..." />
</s:iterator>
</s:sort>
更多 sort 信息
submit
Submit標(biāo)簽輸出一個(gè)按鈕,submit標(biāo)簽和form標(biāo)簽使用可以提供異步表單提交功能。Submit標(biāo)簽可以輸出以下三種類型的提交按鈕:
Input: 等價(jià)于 HTML代碼<input type=”submit”>
Image: 等價(jià)于 HTML代碼 <input type="image">
Button:<button type="submit"></button>
示范代碼:
<s:submit value="登陸"></s:submit>
更多 submit 信息
subset
遞歸iterator的一部分。
例子:
<s:subset source="myList">
<s:iterator>
<s:property />
</s:iterator>
</s:subset>
更多 subset 信息
tabbedPanel
<s:tabbedPanel>標(biāo)簽,用來在HTML頁(yè)面中生成類似于Windows程序的Tab頁(yè),從而可以在有限的空間中放置更多的內(nèi)容。tabbedPanel標(biāo)簽生成的Tab頁(yè)的內(nèi)容可以是靜態(tài)的,也可以是動(dòng)態(tài)的。
示范代碼:
<s:tabbedPanel id="tp1" closeButton="pane" theme="ajax" doLayout="true" selectedTab="second" labelposition="left">
<s:div id="first" label="第一個(gè)div" theme="ajax">
靜態(tài)的DIV
</s:div>
<s:div name="second" label="第二個(gè)div" theme="ajax" href="%{T}" updateFreq="6000" delay="3000">
3:每六秒鐘刷新一次,但有三秒延遲
</s:div>
</s:tabbedPanel>
更多 tabbedPanel 信息
text
用于輸出國(guó)際化消息,和i18n結(jié)合使用。
示范代碼:
<s:i18n name="ApplicationMessages">
<s:text name="HelloWorld" />
</s:i18n>
更多 text 信息
textarea
Textarea標(biāo)簽輸出一個(gè)HTML多行文本輸入控件,等價(jià)于HTML代碼:<textarea />
示范代碼:
<s:textarea name="personal" cols="10" rows="5" label="個(gè)人簡(jiǎn)歷"></s:textarea>
更多 textarea 信息
textfield
Textfield標(biāo)簽輸出一個(gè)HTML單行文本輸入控件,等價(jià)于HTML代碼<input type="text">
示范代碼:
<s:form action="register" method="post">
<s:textfield name="username" label="用戶名"></s:textfield>
</s:form>
更多 textfield 信息
token
token標(biāo)簽是用于防止多次提交的標(biāo)簽。避免了刷新頁(yè)面時(shí)多次提交,如果需要該標(biāo)簽起作用,則應(yīng)該在Struts2的配置文件中啟用TokenInterceptor攔截器或TokenSessionStoreInterceptor攔截器。
示范代碼:
<s:form>
<s:token/>
</s:form>
更多 token 信息
tree
tree和treenode標(biāo)簽可以在頁(yè)面生成一個(gè)樹形結(jié)構(gòu),其中tree生成一個(gè)樹形結(jié)構(gòu),treenode生成一個(gè)樹節(jié)點(diǎn)。
示范代碼:
<s:tree label="圖書" id="book" theme="ajax"
showRootGrid="true" showGrid="true" treeSelectedTopic="treeSelected">
<s:treenode theme="ajax" label="David" id="David">
<s:treenode theme="ajax" label="JavaScript: The Definitive Guide" id="javascript"/>
</s:treenode>
</s:tree>
更多 tree 信息
treenode
tree和treenode標(biāo)簽可以在頁(yè)面生成一個(gè)樹形結(jié)構(gòu),其中tree生成一個(gè)樹形結(jié)構(gòu),treenode生成一個(gè)樹節(jié)點(diǎn)。
示范代碼:
<s:tree label="圖書" id="book" theme="ajax"
showRootGrid="true" showGrid="true" treeSelectedTopic="treeSelected">
<s:treenode theme="ajax" label="David" id="David">
<s:treenode theme="ajax" label="JavaScript: The Definitive Guide" id="javascript"/>
</s:treenode>
</s:tree>
更多 treenode 信息
updownselect
updownselect標(biāo)簽創(chuàng)建一個(gè)帶有上下移動(dòng)的按鈕的列表框,可以通過上下移動(dòng)按鈕來調(diào)整列表框的選項(xiàng)的位置。
示范代碼:
<s:updownselect name="a" label="請(qǐng)選擇您喜歡的圖書" labelposition="top"
moveUpLabel="向上移動(dòng)"
list="{'Spring2.0寶典' , '輕量級(jí)J2EE企業(yè)應(yīng)用實(shí)戰(zhàn)' , 'JavaScript: The Definitive Guide'}"/>
更多 updownselect 信息
url
url標(biāo)簽 用于生成一個(gè)URL地址,可以通過param向url標(biāo)簽指定參數(shù),從而指定URL發(fā)送請(qǐng)求參數(shù)。
示范代碼:
指定action屬性,且使用param傳入?yún)?shù)的形式
<s:url action="showbook">
<s:param name="author" value="'yeeku'">
</s:url>
更多 url 信息