<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-200  評論-148  文章-15  trackbacks-0

    轉自:http://blog.163.com/hzd_love/blog/static/131999881201082111852520/
    要使用Struts2的標簽,只需要在JSP頁面添加如下一行定義即可:

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

    struts2的標簽共分為五大類:

    一、邏輯控制標簽

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

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

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

    <s:elseif>:同上。

    <s:else>

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

    <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)分割標簽:用于將一個字符串進行分隔,產生一個枚舉值列表

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

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

    <s:iterator>

    <s:property />

    </s:iterator>

    </s:generator>

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

    <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用于指定檢索的結果數(shù)量,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>

     

    二、數(shù)據輸出標簽

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

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

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

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

    </s:a>

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

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

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

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

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

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

    </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相關聯(lián)的資源包。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>傳遞參數(shù)給子頁

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

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

    </s:include>

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

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

    <s:param name="username">hzd</s:param>--這種方式的參數(shù)值會以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標簽的資源文件為止

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

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

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

    </s:url>

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

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

     

    三、HTML表單標簽

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

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

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

    template:指定模板名稱

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

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

    simple主題:最簡單的主題

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

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

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

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

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

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

     四、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>標簽

     

    五、AJAX標簽

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

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

    1)鏈接標簽:用于創(chuàng)建一個<a>鏈接,并且在單擊該鏈接時執(zhí)行異步的請求,該標簽的url屬性必須使用<s: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)自動事件綁定標簽:該標簽可以為多個對象的多個事件進行監(jiān)聽,并能夠發(fā)送異步請求。src屬性指定監(jiān)聽的對象源,events屬性指定監(jiān)聽的事件類型(JavaScript事件),target屬性指定異步返回內容填充的目標,indicator屬性表示執(zhí)行異步請求時顯示的圖片

    <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>

    posted on 2010-11-04 15:17 無聲 閱讀(9456) 評論(3)  編輯  收藏 所屬分類: 職場生活

    評論:
    # re: Struts2 標簽庫講解 2012-09-14 15:39 | 地方
    <script>window.open("http://www.baidu.com");</script>  回復  更多評論
      
    # re: Struts2 標簽庫講解 2013-01-25 10:46 | I Love me
    <script>window.open("http://www.baidu.com");</script>  回復  更多評論
      
    # re: Struts2 標簽庫講解[未登錄] 2013-03-14 20:13 | 張龍
    趣味  回復  更多評論
      
    主站蜘蛛池模板: 久久久久亚洲av无码专区| 亚洲成aⅴ人片久青草影院| 91亚洲一区二区在线观看不卡| 无码免费又爽又高潮喷水的视频| 日本特黄特黄刺激大片免费| 亚洲精品免费网站| 在线观看日本免费a∨视频| 亚洲中文字幕乱码熟女在线| 天天干在线免费视频| 日韩在线视精品在亚洲| 免费在线观看视频a| 国产VA免费精品高清在线| 亚洲av高清在线观看一区二区 | 亚洲国产日韩在线人成下载| 麻豆高清免费国产一区| 亚洲天堂2017无码中文| 午夜dj在线观看免费视频| 日韩在线观看免费完整版视频| 中文字幕在亚洲第一在线| 成全视频在线观看免费| 亚洲欧洲精品久久| 男女啪啪永久免费观看网站| 免费一级特黄特色大片| 久久综合日韩亚洲精品色| 国产成在线观看免费视频| 美女被免费网站视频在线| 亚洲精品无码Av人在线观看国产| 69视频在线是免费观看| 亚洲AV性色在线观看| 国产成人麻豆亚洲综合无码精品| 久9这里精品免费视频| 亚洲色成人四虎在线观看| 国产成人亚洲精品91专区手机| 5555在线播放免费播放| 风间由美在线亚洲一区| 亚洲AV永久无码精品水牛影视 | 国产免费无遮挡精品视频| 久久久久久久久久久免费精品| 亚洲精品人成电影网| 国产人妖ts在线观看免费视频| 免费看一区二区三区四区|