大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Struts2標簽庫的分類

Struts2標簽庫的分類

更新時間:2021-11-12 11:51:07 來源:動力節點 瀏覽949次

要使用Struts2的標簽,只需要在JSP頁面添加如下一行定義即可:<%@ taglib prefix="s" uri="/struts-tags"%>

Struts2的標簽共分為五大類:

1.邏輯控制標簽

用于進行邏輯控制輸出,主要分為以下幾類:

(1)條件標簽:用于執行基本的條件流轉

<c:if>擁有一個test屬性,其表達式的值用來決定標簽里的內容是否顯示,

<s:if test="#request.username=='hzd'">北京歡迎你</s:if>
<selseif test="#request.username=='清風'">上海歡迎你</s:elseif>
<s:else>同上

(2)迭代標簽:用于遍歷集合(java.util.Collection)或者枚舉值(java.util.Iterator)類型的對象,value屬性表示集合或枚舉對象,status屬性表示當前循環的對象,在循環體內部可以引用該對象的屬性

<s:iterator value="userList" status="user">
姓名:<s:property value="user.userName" />
年齡:<s:property value="user.age" />
</s:iterator>

(3)組合標簽:用于將多個枚舉值對象進行疊加,形成一個新的枚舉值列表,如將3個列表對象進行了組合,形成新的列表對象

<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)分割標簽:用于將一個字符串進行分割,產生一個枚舉值列表,下面的代碼將分割成三個字符串,然后輸出

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

(5)合并標簽;用于將多個枚舉值按照數組的索引位置進行合并

<s:merge var="newMergeList">
<s:param value="%{mylist1}">--設mylist1列表中有a,b,c三個元素
<s:param value="%{mylist2}">--設mylist2列表中有1,2,3三個元素
</s:merge>
合并后新的列表的元素及其順序為:a,1,b,2,c,3
<s:iterator value="%{#newMergeList}">
<s:property />
</s:iterator>

(6)排序標簽:用于對一組枚舉值進行排序,屬性comparator指向一個繼承java.util.Comparator的比較器,該比較器可以是對action頁面中的一個比較器變量,source指定要排序的列表對象

<s:sort comparator="myComparator" source="myList">
<s:iterator>
<s:property value="..."/>
</s:iterator>
</s:sort>

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

public Decider getDecider()
{
return new Decider(){
public boolean decide(Object element) throws Exception{
int i=((Integer)element).intValue();
return (((i%2)==0)?true:false);
}
};
}
然后引用該對象篩選子集:
<s:subset source="myList" decider="decider">
</s:subset>
或者不使用Decider對象:
<s:subset source="myList" count="13" start="3">
</s:subset>

2.數據輸出標簽

數據輸出標簽用以輸出頁面中的元素、屬性、隱含變量等,即包括靜態文本的輸出,也包括Struts2集成的各種變量的輸出。

(1)鏈接標簽:用于創建一個標簽,errorText用于顯示錯誤信息,priInvokeJS表示該鏈接執行時的JavaScript提示函數href表示跳轉地址。

<s:a errorText="刪除錯誤" preInvokeJS="confirm('確認刪除?')" href="test.jsp">
<img src="/image/delete.gif" />
</s:a>

(2)action標簽:可以直接調用action類中的函數,前提是該action類在Struts.xml中有定義,name屬性用于指向映射文件中配置的action函數,excuteResult是否執行結果集的跳轉

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

(3)JavaBean標簽:用于創建一個JavaBean對象,name表示JavaBean類全名,var表示變量的實例名,并可以包含<s:param>設置實例化輸入參數

<s:bean name="xxx,xxx,xxx" var="xxx">
<s:param name="name" value="hzd" />--為該JavaBean的構造方法傳遞參數
</s:bean>

(4)日期標簽:用以輸出一個格式化的日期對象,name表示要輸出的對象,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" />--默認格式

(5)調用標簽:用以輸出頁面的值棧調試信息,通常在進行程序調用時使用,便于查找JSP頁面中的錯誤

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

如xxx.xxx.xxx.ApplicationMessages中定義了標簽:HelloWord=歡迎您!
則可以這樣引用:
<s:i18n name="xxx.xxx.xxx.ApplilcationMessages">
<s:text name="HelloWord" />
</s:i18n>

(7)包含頁面標簽:用來包含一個Servlet的輸出(Servlet或JSP頁面),使用value屬性指定包含頁名稱,可以使用

<s:param>傳遞參數給子頁
<s:include value="/test.jsp">
<s:param name="username">hzd</s:param>--參數username=hzd給test.jsp頁面
</s:include>

(8)傳遞參數標簽:用來為其他標簽提供參數,所以一般是嵌套在其它標簽的內部,name屬性用來指定參數名稱,value(可選)屬性用來指定參數值

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

(9)值棧標簽:用以加入一個值到值棧中

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

(10)變量賦值標簽:賦予變量一個特定范圍內的值,name屬性表示變量的名字,scope表示變量的作用域

(application.session.request.page.action),value變量的值<s:set>

(11)國際化標簽:用于輸出國際化信息,name屬性指定國際化資源文件中消息文本的key,可以與<s:i18n>標簽結合使用<s:text name="HelloWord" />

--它會按照一定的順序查找資源文件,直到找到定義HellowWord標簽的資源文件為止

<s:url id="url" value="/test.jsp">
<s:param name="username">hzd</s:param>
</s:url>

(12)鏈接標簽:用于創建一個URL鏈接,并可以通過標簽提供request參數

(13)屬性標簽:用以輸出value屬性的值,并擁有一個default屬性,在value對象不存在時顯示。escape屬性為true,來輸出原始的HTML文本

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

3.HTML表單標簽

HTML標簽都擁有以下3個設置樣式的屬性。

templateDir:執行模板路徑

theme:指定主題名稱,可選值包括simple、xhtml、ajax等

template:指定模板名稱

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

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

simple主題:最簡單的主題

XHTML主題:默認主題,使用常用的HTML技巧

CSS XHTML主題:使用CSS實現的XHTML主題

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

AJAX主題:基于AJAX實現的主題

通過在struts.properties文件中改變struts.ui.theme,struts.ui.templateDir,struts.ui.templateSuffix三個標簽來自由切實可行換主題

由于HTML表單標簽也不少,所以還是要用的時候在網上找吧...

4.HTML非表單標簽

主要用來輸出各種錯誤和消息。

(1)錯誤標簽:用以輸出Action錯誤信息

<s:actionerror />

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

<s:atcionmessage />

(3)字段錯誤標簽:用以輸出Action校驗中某一個字段的錯誤信息或所有字段的錯誤信息

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

<s:fielderror>

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

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

<s:fielderror>

(4)DIV標簽:用以輸出一個<div>標簽

5.AJAX標簽

AJAX標簽是struts2專門提供的一組進行AJAX操作的標簽,在使用這些標簽之前,需要在JSP頁面中添加如下引用:

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

(1)鏈接標簽:用于創建一個<a>鏈接,并且在單擊該鏈接時執行異步的請求,該標簽的url屬性必須使用標簽進行設置,target屬性指向要被更新的頁面組件,showLoadingText屬性決定是否顯示文本,indicator表示異步請求時要顯示的圖片

使用form標簽:

<s:div id="targetDiv">
<s:form action="LoginAction">
<sx:a targets="targetDiv" showLoadingText="false" indicator="loadingImage" />
</s:form>
</s:div>
使用url標簽:
<s:div id="targetDiv">
<s:url id="ajaxTest" value="/LoginAction.action">
<sx:a targets="targetDiv" href="%{ajaxTest}" showLoadingText="false" indicator="loadingImage" />
</s:div>

(2)自動完成標簽:是一個組合框組件,在文本框中輸入文本,能夠給出一個下拉的提示列表。list屬性用以指定一個自動提示檢索的列表集合(可以是Action中的List類型的屬性),autoComplete屬性為true時表示進行自動提示

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

(3)自動事件綁定標簽:該標簽可以為多個對象的多個事件進行監聽,并能夠發送異步請求。src屬性指定監聽的對象源,events屬性指定監聽的事件類型(JavaScript事件),target屬性指定異步返回內容填充的目標,indicator屬性表示執行異步請求時顯示的圖片

<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)日期選擇標簽:用以彈出一個日期和時間的選擇窗口,displayFormat屬性指定要選擇日期的格式,name表示當前組件的屬性的對象,value表示默認值,label表示顯示的文本

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

(5)樹標簽:用以輸出一個樹形結構

<sx:tree>

(6)Tab頁標簽:使用AJAX的方式顯示多個Tab頁

<s:tabbedpanel>

以上就是關于“Struts2標簽庫的分類”介紹,大家如果想了解更多相關知識,可以關注一下動力節點的Struts2視頻教程,相信對大家會有很大幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 一区二区在线免费观看 | 一级看片免费视频 | 中文精品北条麻妃中文 | 羞羞的视频在线免费观看 | 久久综合九色综合亚洲 | 久久亚洲精品中文字幕第一区 | 韩国一大片a毛片 | 添bbb免费观看高清视频 | 免费看曰批女人爽的视频网址 | 国产视频欧美 | 成人久久18免费网站游戏 | 神马影院888不卡院 神马影院不卡不卡在线观看 | 亚洲一区二区在线视频 | 成年人国产视频 | 深夜成人性视频免费看 | 色成年激情久久综合 | 亚洲va欧美va国产va天堂影 | 九九在线免费观看视频 | 国产精品揄拍100视频 | 九九激情视频 | 色综合a怡红院怡红院首页 色综合h | 热久久这里只有精品 | 亚洲国产综合人成综合网站00 | 亚洲欧美国产精品久久久 | 免费一看一级毛片全播放 | 色婷婷久久免费网站 | 国产综合影院 | 中文字幕av在线 | 久青草国产在视频在线观看 | 麻豆精品一区二区三区免费 | 色综合色狠狠天天久久婷婷基地 | 在线免费观看中文字幕 | 99精品久久久久久久免费看蜜月 | 手机看片日韩 | 99热这里只有精品国产99 | 久久老色鬼天天综合网观看 | 精品国产乱码一区二区三区 | 久久精品麻豆 | 青青青在线观看免费视频精品 | 伊人久久波多野结衣中文字幕 | 狠狠色综合久久丁香婷婷 |