小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Struts2 標(biāo)簽庫(kù)講解

 ~~無(wú)語(yǔ)~~ 2016-06-11

要使用Struts2的標(biāo)簽,只需要在JSP頁(yè)面添加如下一行定義即可:

<%@ taglib prefix="s" uri="/struts-tags"%>

struts2的標(biāo)簽共分為五大類(lèi):

一、邏輯控制標(biāo)簽

用于進(jìn)行邏輯控制輸出。主要分以下幾類(lèi):

1)條件標(biāo)簽:用于執(zhí)行基本的條件流轉(zhuǎn)

<s:if>:擁有一個(gè)test屬性,其表達(dá)式的值用來(lái)決定標(biāo)簽里內(nèi)容是否顯示。<s:if test="#request.username=='hzd'">歡迎h(huán)zd</s:if>

<s:elseif>:同上。

<s:else>

2)迭代標(biāo)簽:用于遍歷集合(java.util.Collection)或者枚舉值(java.util.Iterator)類(lèi)型的對(duì)象,value屬性表示集合或枚舉對(duì)象,status屬性表示當(dāng)前循環(huán)的對(duì)象,在循環(huán)體內(nèi)部可以引用該對(duì)象的屬性

<s:iterator value="userList" status="user">

姓名:<s:property value="user.userName" />

年齡:<s:property value="user.age" />

</s:iterator>

3)組合標(biāo)簽:用于將多個(gè)枚舉值對(duì)象進(jìn)行疊加,形成一個(gè)新的枚舉值列表

如將3個(gè)列表對(duì)象進(jìn)行了組合,形成新的列表對(duì)象:

<s:append var="newIteratorList">

<s:param value="%{myList1}" />

<s:param value="%{myList2}" />

<s:param value="%{myList3}" />

</s:append>

輸出:

<s:iterator value="%{#newIteratorList}">

<s:property />

</s:iterator>

4)分割標(biāo)簽:用于將一個(gè)字符串進(jìn)行分隔,產(chǎn)生一個(gè)枚舉值列表

下面的代碼將分隔為3個(gè)字符串,然后循環(huán)輸出

<s:generator val="%{'aaa,bbb,ccc'}">

<s:iterator>

<s:property />

</s:iterator>

</s:generator>

5)合并標(biāo)簽:用于將多個(gè)枚舉值按照數(shù)組的索引位置進(jìn)行合并

<s:merge var="newMergeList">

<s:param value="%{mylist1}">--設(shè)mylist1列表中有a,b,c三個(gè)元素

<s:param value="%{mylist2}">--設(shè)mylist2列表中有1,2,3三個(gè)元素

</s:merge>

合并后新的列表的元素及其順序?yàn)椋篴,1,b,2,c,3

<s:iterator value="%{#newMergeList}">

<s:property />

</s:iterator>

6)排序標(biāo)簽:用于對(duì)一組枚舉值進(jìn)行排序,屬性comparator指向一個(gè)繼承自java.util.Comparator的比較器,該比較器可以是對(duì)應(yīng)Action頁(yè)面中的一個(gè)比較器變量,source指定要排序的列表對(duì)象

<s:sort comparator="myComparator" source="myList">

<s:iterator>

<s:property value="..."/>

</s:iterator>

</s:sort>

7)子集標(biāo)簽:用于取得一個(gè)枚舉列表的子集,source用于指定檢索的列表對(duì)象,start用于指定起始檢索的索引位置,count用于指定檢索的結(jié)果數(shù)量,decider屬性必須是一個(gè)org.apache.struts2.util.SubsetIteratorFilter.Decider類(lèi)的子類(lèi)實(shí)例,用以指定檢索的條件。例如在Action中提供了以下方法用來(lái)取得一個(gè)Decider對(duì)象:

public Decider getDecider()

{

return new Decider(){

public boolean decide(Object element) throws Exception{

int i=((Integer)element).intValue();

return (((i%2)==0)?true:false);

}

};

}

然后引用該對(duì)象篩選子集:

<s:subset source="myList" decider="decider">

</s:subset>

或者不使用Decider對(duì)象:

<s:subset source="myList" count="13" start="3">

</s:subset>

 

二、數(shù)據(jù)輸出標(biāo)簽

數(shù)據(jù)輸出標(biāo)簽用以輸出頁(yè)面中的元素、屬性、隱含變量等,即包括靜態(tài)文本的輸出,也包括struts2集成的各種變量的輸出。

1)鏈接標(biāo)簽:用于創(chuàng)建一個(gè)<a>標(biāo)簽,errorText用于顯示錯(cuò)誤信息,priInvokeJS表示該鏈接執(zhí)行時(shí)的javascript提示函數(shù),href表示跳轉(zhuǎn)地址.

<s:a errorText="刪除錯(cuò)誤" preInvokeJS="confirm('確認(rèn)刪除?')" href="test.jsp">

<img src="/image/delete.gif" />

</s:a>

2)Action標(biāo)簽:可以直接調(diào)用Action類(lèi)中的函數(shù),前提是該Action類(lèi)在struts.xml中有定義,name屬性用于指向映射文件中配置的Action函數(shù),executeResult屬性表示是否執(zhí)行結(jié)果集的跳轉(zhuǎn)

<s:action name="LoginAction" executeResult="true" />--表示執(zhí)行LoginAction的默認(rèn)處理方法execute()

<s:action name="LoginAction!login" executeResult="true" />--表示執(zhí)行LoginAction的處理方法login()

3)JavaBean標(biāo)簽:用于創(chuàng)建一個(gè)JavaBean對(duì)象,name表示JavaBean類(lèi)全名,var表示變量的實(shí)例名,并可以包含<s:param>設(shè)置實(shí)例化輸入?yún)?shù)

<s:bean name="xxx,xxx,xxx" var="xxx">

<s:param name="name" value="hzd" />--為該JavaBean的構(gòu)造方法傳遞參數(shù)

</s:bean>

4)日期標(biāo)簽:用以輸出一個(gè)格式化的日期對(duì)象,name表示要輸出的對(duì)象,format表示輸出的日期格式

 <s:date name="user.birthday" format="dd/MM/yyyy" />

<s:date name="user.birthday" format="%{getText('some.i18n.key')}" />

<s:date name="user.birthday" />--默認(rèn)格式

5)調(diào)用標(biāo)簽:用以輸出頁(yè)面的值棧調(diào)試信息,通常在進(jìn)行程序調(diào)用時(shí)使用,便于查找JSP頁(yè)面中的錯(cuò)誤

6)引用資源文件標(biāo)簽:用于加載資源包到值棧,它可以允許<s:text>標(biāo)簽訪問(wèn)任何資源包的信息,而不只是當(dāng)前action相關(guān)聯(lián)的資源包。name屬性用以指定資源包的類(lèi)路徑

如xxx.xxx.xxx.ApplicationMessages中定義了標(biāo)簽:HelloWord=歡迎您!

則可以這樣引用:

<s:i18n name="xxx.xxx.xxx.ApplilcationMessages">

<s:text name="HelloWord" />

</s:i18n>

7)包含頁(yè)面標(biāo)簽:用來(lái)包含一個(gè)Servlet的輸出(Servlet或JSP頁(yè)面),使用value屬性指定包含頁(yè)名稱(chēng),可以使用<s:param>傳遞參數(shù)給子頁(yè)

<s:include value="/test.jsp">

<s:param name="username">hzd</s:param>--參數(shù)username=hzd給test.jsp頁(yè)面

</s:include>

8)傳遞參數(shù)標(biāo)簽:用來(lái)為其他標(biāo)簽提供參數(shù),所以一般是嵌套在其它標(biāo)簽的內(nèi)部,name屬性用來(lái)指定參數(shù)名稱(chēng),value(可選)屬性用來(lái)指定參數(shù)值

<s:param name="username" value="hzd" />--這種方式的參數(shù)值會(huì)以String格式放入stack

<s:param name="username">hzd</s:param>--這種方式的參數(shù)值會(huì)以O(shè)bject的格式放入stack

9)值棧標(biāo)簽:用以加入一個(gè)值到值棧中

<s:push value="user">

<s:property value="name" />--為user指定name屬性

<s:property value="age" />--為user指定age屬性

</s:push>

10)變量賦值標(biāo)簽:賦予變量一個(gè)特定范圍內(nèi)的值,name屬性表示變量的名字,scope表示變量的作用域(application.session.request.page.action),value變量的值

<s:set>

11)國(guó)際化標(biāo)簽:用于輸出國(guó)際化信息,name屬性指定國(guó)際化資源文件中消息文本的key,可以與<s:i18n>標(biāo)簽結(jié)合使用

<s:text name="HelloWord" />--它會(huì)按照一定的順序查找資源文件,直到找到定義HellowWord標(biāo)簽的資源文件為止

12)鏈接標(biāo)簽:用于創(chuàng)建一個(gè)URL鏈接,并可以通過(guò)<s:param>標(biāo)簽提供request參數(shù)

<s:url id="url" value="/test.jsp">

<s:param name="username">hzd</s:param>

</s:url>

13)屬性標(biāo)簽:用以輸出value屬性的值,并擁有一個(gè)default屬性,在value對(duì)象不存在時(shí)顯示。escape屬性為true,來(lái)輸出原始的HTML文本

<s:property value="getText('some.key')">

 

三、HTML表單標(biāo)簽

HTML標(biāo)簽都擁有以下3個(gè)設(shè)置樣式的屬性。

templateDir:執(zhí)行模板路徑

theme:指定主題名稱(chēng),可選值包括simple、xhtml、ajax等

template:指定模板名稱(chēng)

使用HTML表單標(biāo)簽會(huì)生成大量格式化的HTML代碼,這些代碼是由struts2的模板生成的,這樣的好處是可以讓我們的jsp代碼十分簡(jiǎn)單,只需要配置使用不同的主題模板,就可以顯示不同的頁(yè)面樣式。

struts2默認(rèn)提供了5種主題(在此不做詳細(xì)介紹):

simple主題:最簡(jiǎn)單的主題

XHTML主題:默認(rèn)主題,使用常用的HTML技巧

CSS XHTML主題:使用CSS實(shí)現(xiàn)的XHTML主題

archive主題:使用文檔生成主題

AJAX主題:基于AJAX實(shí)現(xiàn)的主題

通過(guò)在struts.properties文件中改變struts.ui.theme,struts.ui.templateDir,struts.ui.templateSuffix三個(gè)標(biāo)簽來(lái)自由切實(shí)可行換主題

由于HTML表單標(biāo)簽也不少,所以還是要用的時(shí)候在網(wǎng)上找吧...

 四、HTML非表單標(biāo)簽

主要用來(lái)輸出各種錯(cuò)誤和消息。

1)錯(cuò)誤標(biāo)簽:用以輸出Action錯(cuò)誤信息

<s:actionerror />

2)消息標(biāo)簽:用以輸出Action普通消息

<s:atcionmessage />

3)字段錯(cuò)誤標(biāo)簽:用以輸出Action校驗(yàn)中某一個(gè)字段的錯(cuò)誤信息或所有字段的錯(cuò)誤信息

<s:fielderror />--輸出所有字段的錯(cuò)誤信息

<s:fielderror>

<s:param>username</s:param>--輸出字段username的錯(cuò)誤信息

<s:param>password</s:param>--輸出字段password的錯(cuò)誤信息

<s:fielderror>

4)DIV標(biāo)簽:用以輸出一個(gè)<div>標(biāo)簽

 

五、AJAX標(biāo)簽

AJAX標(biāo)簽是struts2專(zhuān)門(mén)提供的一組進(jìn)行AJAX操作的標(biāo)簽,在使用這些標(biāo)簽之前,需要在JSP頁(yè)面中添加如下引用:

<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>

1)鏈接標(biāo)簽:用于創(chuàng)建一個(gè)<a>鏈接,并且在單擊該鏈接時(shí)執(zhí)行異步的請(qǐng)求,該標(biāo)簽的url屬性必須使用<s:url/>標(biāo)簽進(jìn)行設(shè)置,target屬性指向要被更新的頁(yè)面組件,showLoadingText屬性決定是否顯示文本,indicator表示異步請(qǐng)求時(shí)要顯示的圖片

使用form標(biāo)簽:

<s:div id="targetDiv">

<s:form action="LoginAction">

<sx:a targets="targetDiv" showLoadingText="false" indicator="loadingImage" />

</s:form>

</s:div>

使用url標(biāo)簽:

<s:div id="targetDiv">

<s:url id="ajaxTest" value="/LoginAction.action">

<sx:a targets="targetDiv" href="%{ajaxTest}" showLoadingText="false" indicator="loadingImage" />

</s:div>

2)自動(dòng)完成標(biāo)簽:是一個(gè)組合框組件,在文本框中輸入文本,能夠給出一個(gè)下拉的提示列表。list屬性用以指定一個(gè)自動(dòng)提示檢索的列表集合(可以是Action中的List類(lèi)型的屬性),autoComplete屬性為true時(shí)表示進(jìn)行自動(dòng)提示

<sx:autocompleter name="test" list="{'上海','湖南',廣東}" autoCompleter="true" />

3)自動(dòng)事件綁定標(biāo)簽:該標(biāo)簽可以為多個(gè)對(duì)象的多個(gè)事件進(jìn)行監(jiān)聽(tīng),并能夠發(fā)送異步請(qǐng)求。src屬性指定監(jiān)聽(tīng)的對(duì)象源,events屬性指定監(jiān)聽(tīng)的事件類(lèi)型(JavaScript事件),target屬性指定異步返回內(nèi)容填充的目標(biāo),indicator屬性表示執(zhí)行異步請(qǐng)求時(shí)顯示的圖片

<s:div id="targetDiv">

<s:form action="login">

<s:submit id="bin" />

<s:bind src="bin" events="onclick" targets="targetDiv" showLoadingText="false" indicator="%{getText('loadingImage')}" />

</s:form>

</s:div>

4)日期選擇標(biāo)簽:用以彈出一個(gè)日期和時(shí)間的選擇窗口,displayFormat屬性指定要選擇日期的格式,name表示當(dāng)前組件的屬性的對(duì)象,value表示默認(rèn)值,label表示顯示的文本

<sx:datetimepicker name="order.date" label="Order Date" displayFormat="yyyy-MM-dd" value="%{'2006-01-01'}" />

5)樹(shù)標(biāo)簽:用以輸出一個(gè)樹(shù)形結(jié)構(gòu)

<sx:tree>

6)Tab頁(yè)標(biāo)簽:使用AJAX的方式顯示多個(gè)Tab頁(yè)

<s:tabbedpanel>

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多