Struts 2 有一組標(biāo)簽使得控制頁(yè)面執(zhí)行流非常容易。以下是重要的 Struts 2 控制標(biāo)簽的列表:
該標(biāo)簽實(shí)現(xiàn)基本的能夠在每種語(yǔ)言中找到的條件流。'If' 標(biāo)簽?zāi)軌騿为?dú)使用或與 'Else If' 標(biāo)簽一起使用,單個(gè)/多個(gè) 'Else' 標(biāo)簽如下所示:
<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>
迭代標(biāo)簽會(huì)迭代一個(gè)值。一個(gè)迭代的值可以是任何 java.util.Collection 或 java.util.Iterator。當(dāng)?shù)粋€(gè)值時(shí),你可以使用 Sort 標(biāo)簽來(lái)把結(jié)果分類(lèi)或者使用 SubSet 標(biāo)簽得到列表或數(shù)組的子集。
以下例子檢索了值棧中當(dāng)前對(duì)象的 getDays() 方法的值,并用它迭代。
<s:iterator value="days"> <p>day is: <s:property/></p> </s:iterator>
融合標(biāo)簽將兩個(gè)或多個(gè)列表作為參數(shù)并把它們?nèi)诤显谝黄?,如下所示?/p>
<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>
附加標(biāo)簽將兩個(gè)或多個(gè)列表作為參數(shù)并把它們附加在一起,如下所示:
<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>
生成器標(biāo)簽生成基于提供的 val 屬性的迭代器。下面的例子中,生成器標(biāo)簽生成了一個(gè)迭代器并用迭代器標(biāo)簽把它輸出出來(lái)。
<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}">
<s:iterator>
<s:property /><br/>
</s:iterator>
</s:generator>