Struts2 控制元件標籤


Struts 2 的標籤有一組標籤,更容易控制流程頁面執行。以下是重要的Struts2控制標籤列表:

if /else 標籤:

這些標籤執行可在每一種語言找到的一種基本條件流程。 'If'標籤可用於本身或與“Else If''標籤和/或單/多'Else'標籤,如下圖所示:

<s:if test="%{false}">
    <div>Will Not Be Executed</div>
</s:if>
<s:elseif test="%{true}">
    <div>Will Be Executed</div>
</s:elseif>
<s:else>
    <div>Will Not Be Executed</div>
</s:else>

if else 範例

iterator標籤:

這些疊代器將遍歷一個值。一個可疊代的值可以是任何的java.util.Collection 和 java.util.Iterator。雖然超過一個疊代器遍歷排序,可以使用標籤對結果進行排序或子集標籤的列表或者陣列得到一個子集。

下面的範例檢索當前物件的值棧getDays()方法的值,並用它來遍歷。<s:property/>標籤列印出疊代器的當前值。

<s:iterator value="days">
  <p>day is: <s:property/></p>
</s:iterator>

iterator 範例

merge標籤:

這些合併標記需要兩個或兩個以上的列表作為引數,並把它們合併在一起,如下所示:

<s:merge var="myMergedIterator">
     <s:param value="%{myList1}" />
     <s:param value="%{myList2}" />
     <s:param value="%{myList3}" />
</s:merge>
<s:iterator value="%{#myMergedIterator}">
     <s:property />
</s:iterator>

merge標籤範例

append 標籤:

這些append標籤需要兩個或兩個以上的列表作為引數,並追加它們放在一起,如下圖所示:

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

append標籤範例

generator 標籤:

generator標籤生成一個疊代器的基礎上提供val屬性。以下generator標籤生成一個疊代器,並使用疊代器標籤列印出來。

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

generator標籤範例