我在Struts2中嵌套了迭代:
<s:iterator var="gift" value="user.gift">
<s:iterator value="giftItems">
<s:property value="type"/>
</s:iterator>
</s:iterator>
我只想最多10个
type
。如何在Struts2迭代中的某个点中断?我可以有一个计数器变量,但不知道要在迭代中中断。谢谢。
最佳答案
如果在开始迭代之前知道何时中断,则可以使用begin和end属性。如果必须在迭代内计算中断,则在执行迭代之前,设置变量并每次使用一次检查其值。在后一种情况下,循环从技术上讲不会“中断”,但效果是相同的。
<s:set var = "breakLoop" value = "%{false}" />
<s:iterator....>
<s:if test = "!#breakLoop">
//process here and change the var to true based on some codition
<s:set var = "breakLoop" value = "%{true}"/>
</s:if>
</s:iterator>