struts 2 的标签有一组标签,更容易控制流程页面执行。以下是重要的struts2控制标签列表:
这些标签执行可在每一种语言找到的一种基本条件流程。 '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>
这些迭代器将遍历一个值。一个可迭代的值可以是任何的java.util.collection 和 java.util.iterator。虽然超过一个迭代器遍历排序,可以使用标签对结果进行排序或子集标签的列表或者数组得到一个子集。
下面的示例检索当前对象的值栈getdays()方法的值,并用它来遍历。<s:property/>标签打印出迭代器的当前值。
<s:iterator value="days"> <p>day is: <s:property/></p> </s:iterator>
这些合并标记需要两个或两个以上的列表作为参数,并把它们合并在一起,如下所示:
<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>
这些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>
generator标签生成一个迭代器的基础上提供val属性。以下generator标签生成一个迭代器,并使用迭代器标签打印出来。
<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}"> <s:iterator> <s:property /><br/> </s:iterator> </s:generator>