struts2 經常使用標籤的通常用法

1.<s:property/>標籤
value 默認來自top of stack,默認的類型是Objecthtml

<s:property value="username"/><br/>取username(對象)的值,
<s:property value="'username'"/><br/>顯示一個字符串
<s:property value="sefdsafa" default="我是默認值"/><br/>若是找不到指定一個默認值
<s:property value="'<hr/>'" escape="false" /><br/>以html元素在頁面顯示

 


2.<s:set/>標籤
scope存放的位置default value is Action(通常是名字太長換名用)dom

<s:set var="name" value="username" scope="action"></s:set>
注:username是Object,若是設置一個字符串value="'username'"
<s:property value="#name"/>
<s:property value="#request.name" />(request也能取出)

3.<s:bean/>標籤
建立一個User的實例賦值保存在Stack Contextjsp

<s:bean name="com.zr.struts2.domain.User" var="myUser">
    <s:param name="username" value="'zr'" />
    <s:param name="password" value="'123'" />
    注:value不加單引號會默認成ogln表達式
</s:bean>
若是不指定var,bean標籤開始時new一個User,壓到棧頂,標籤結束就從棧頂移走
<s:bean name="com.zr.struts2.domain.User">
    <s:param name="username" value="'zr'" />
    <s:param name="password" value="'123'" />
    <s:property value="username"/>
    <s:debug></s:debug> (在bean標籤中查看)
</s:bean>


4.<s:include/>標籤
    value表示一個字符串測試

 <s:include value="user_success.jsp" />
    
    <s:set var="user_success" value="'/user_success.jsp'"></s:set>
    <s:include value="%{#user_success}"></s:include>
    注:%{}表示將文本解析爲ognl表達式

    補充:$%#的區別
        1.$用於i18n和struts的配置文件,
        2.#取ActionContext的值
        3.%將文本解析爲ognl表達式。對原本就是ongl的表達式不起做用


5.<s:if/><s:elseif/><s:else>標籤spa

 <a href="/strurts2/tag/tag?username=u&password=p&age=10&age=20">測試</a>
    
    取參數必定要取某一個具體的參數,同名參數可能有不一樣的值
    <s:set var="age" value="#parameters.age[0]"/>(更名)
    <s:property value="#age" />
    
    <s:if test="#age >5">大於5 </s:if>
    <s:elseif test="#age < 5 ">小於5</s:elseif>
    <s:else>等於5</s:else>

    <s:if test="#parameters.zr == null">沒有zr參數</s:if>

6.<s:iterator/> 遍歷元素
  debug

 <s:iterator value="{1,2,3}">
        <s:property/>
    </s:iterator>
    結果:1 2 3

    <br/>
    <s:iterator value="{'aa','bb','cc'}" var="x">
        <s:property value="#x.toUpperCase()" />
    </s:iterator>
    結果:AA BB CC

    <s:iterator value="{'aa','bb','cc'}" status="status">
        遍歷過的元素總數<s:property value="#status.count" />\
        索引<s:property value="#status.index" />\
        是否爲偶數<s:property value="#status.even" />\
        是否爲奇數<s:property value="#status.odd" />\
        是否是第一個元素<s:property value="#status.first" />\
        是否是最後一個元素<s:property value="#status.last" /><br/>
    </s:iterator>
    結果:遍歷過的元素總數1\ 索引0\ 是否爲偶數false\ 是否爲奇數true\ 是否是第一個元素true\ 是否是最後一個元素false
          遍歷過的元素總數2\ 索引1\ 是否爲偶數true\ 是否爲奇數false\ 是否是第一個元素false\ 是否是最後一個元素false
          遍歷過的元素總數3\ 索引2\ 是否爲偶數false\ 是否爲奇數true\ 是否是第一個元素false\ 是否是最後一個元素true

    <s:iterator value="#{1:'a', 2:'b', 3:'c'}" >
        <s:property value="key"/> |
        <s:property value="value"/> <br />
    </s:iterator>
    結果:1 | a
         2 | b
         3 | c

    <s:iterator value="#{1:'a', 2:'b', 3:'c'}" var="x">
        <s:property value="#x.key"/> |
        <s:property value="#x.value"/> <br />
    </s:iterator>    
    結果:1 | a
         2 | b
         3 | c 
相關文章
相關標籤/搜索