Struts2.X標籤(一)

 

 

要想使用 struts2 標籤,必須在 jsp 頁面中引入標記

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

Struts2 的標籤與 struts1 有很大的不同

Struts1 將標誌庫按功能分成 HTML Tiles Logic Bean 等幾部分 , 且不支持嵌入語言( EL )。

Struts2 把所有的標籤都歸於 URI “/struts-tags” 命名空間下,從功能上將其分爲兩大類:通用標誌和 UI 標誌。

官網 taglib URL http://struts.apache.org/2.x/docs/tag-reference.html

通用標籤(控制類)

·   If elseif else

<s:if test= "exp1" >

    <div> exp1 返回 true ,則顯示,否則不顯示 </div>

</s:if>

<s:elseif test= "exp2" >

    <div> exp1 返回 false 前提下, exp2 返回 true ,則顯示,否則不顯示 </div>

</s:elseif>

<s:else>

    <div> exp2 exp1 都返回 false 時顯示 </div>

</s:else>

 

名稱

必需

默認

類型

描述

備註

test

 

Boolean

決定標誌裏內容是否顯示的表達式

else 標誌沒有這個參數

id

 

String

標識

或者是var

 

·   append generator iterator merge subset

Append :往 iterator 迭代器中添加項

<s:append var= "myAppendIterator" >

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

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

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

</s:append>

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

     <s:property />

</s:iterator>

 

generator iterator 迭代器的生成器

1 :生成 iterator 並打印 iterator 中的值

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

  <s:iterator>

     <s:property /><br/>

  </s:iterator>

</s:generator>

 

2 :生成一個帶記數的 iterator ,超出記數的部分將被忽略,如“ ddd,eee

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

  <s:iterator>

     <s:property /><br/>

  </s:iterator>

</s:generator>

 

3 :生成帶標識的 iterator 生成的對象放在 pageContext 中,可通過 標識 來訪問

<s:generator val= "%{'aaa,bbb,ccc,ddd,eee'}" count= "4" separator= "," var= "myAtt" />

<%

  Iterator i = (Iterator) pageContext.getAttribute("myAtt" );

  while(i.hasNext()) {

     String s = (String) i.next(); %>

     <%=s%> <br/>

<%    }

%>

 

4 生成 iterator ,使用 converter 屬性,將每一個對象添加了一個 "converter-" 前綴。

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

  <s:iterator>

     <s:property /><br/>

  </s:iterator>

</s:generator>

public class GeneratorTagAction extends ActionSupport {

  ....

  public Converter getMyConverter() {

     return new Converter() {

         public Object convert(String value) throws Exception {

             return "converter-" +value;

         }

     };

    }

  ...

}

名稱

必需

默認

類型

描述

備註

converter

 

org.apache.struts2.util.IteratorGenerator.Converter

額外操作

 

count

 

Integer

數量

 

id

 

String

標識

 

separator

 

String

兩值的分割

 

val

 

String

 

Iterator: 迭代器

<s:bean name= "org.apache.struts2.example.IteratorExample" var= "it" >

  <s:param name= "day" value= "'foo'" />

  <s:param name= "day" value= "'bar'" />

</s:bean>

<p/>

<table border= "0" cellspacing= "0" cellpadding= "1" >

<tr>

  <th> Days of the week</th>

</tr>

<p/>

<s:iterator value= "#it.days" status= "rowstatus" >

  <tr>

    <s:if test= "#rowstatus.odd == true" >

      <td style= "background: grey" ><s:property/></td>

    </s:if>

    <s:else>

      <td><s:property/></td>

    </s:else>

  </tr>

</s:iterator>

</table>

名稱

必需

默認

類型

描述

備註

id

 

String

標識

 

status

false

Boolean

決定是否使用子項的標識變量

 

value

 

String

引用的變量

 

Merge :和 apand 功能類似

<s:merge var= "myMergedIterator1" >

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

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

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

</s:merge>

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

     <s:property />

</s:iterator>

Sort: iterator 中的項排序

用法 1:

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

     <s:iterator>

     <!-- do something with each sorted elements -->

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

     </s:iterator>

</s:sort>

 

用法 2:

<s:sort var= "mySortedList" comparator= "myComparator" source= "myList" />

名稱

必需

默認

類型

描述

備註

id

 

String

標識

 

Comparator

 

ava.util.Comparator

排序用的比較器

 

Source

 

String

排序對象標識

 

Subset iterator 的子項

<!-- s: List basic -->

   <s:subset source= "myList" >

      <s:iterator>

         <s:property />

      </s:iterator>

   </s:subset>

<!-- B: List with count -->

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

      <s:iterator>

          <s:property />

      </s:iterator>

    </s:subset>

<!--  C: List with start -->

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

        <s:iterator>

          <s:property />

        </s:iterator>

     </s:subset>

<!--  D: List with var -->

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

     <%

         Iterator i = (Iterator) pageContext.getAttribute("mySubset" );

         while(i.hasNext()) {

     %>

     <%=i.next() %>

     <%  } %>

<!--  D: List with Decider -->

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

           <s:iterator>

                <s:property />

           </s:iterator>

    </s:subset>

 

名稱

必需

默認

類型

描述

備註

id

 

String

標識

 

count

 

Integer

子集的子項的個數

 

Source

 

String

iterator 對象標識

 

start

 

Integer

從該個開始取子集

 

decider

 

org.apache.struts2.util.SubsetIteratorFilter.Decider

用作取 iterator 子集 的操作器

 

 

未完待繼

通用標籤(數據類)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章