代码片段如下:
<s:set value="{1,2,3}" var="list1" />
<s:set value="{4,5,6}" var="list2" />
<s:append var="list3">
<s:param value="#list1" />
<s:param value="#list2" />
</s:append>
<s:iterator value="#list3">
<s:property />
</s:iterator>
<hr />
<s:iterator value="#list3">
<s:property />
</s:iterator>
<hr />
结果如下:
1 2 3 4 5 6
---------------------------------------------------------------------
---------------------------------------------------------------------
第二个<s:iterator>
标签根本不起作用,#list3
怎么了? , 是 #list3
现在是一个空列表?
最佳答案
你的 #list3
不是列表,它是对附加迭代器的引用(AppendIteratorFilter
的实例)。这是如何<s:append>
标签有效。它将在迭代后删除可迭代源。您可以调用hasNext()
附加迭代器上的方法以查看它是否包含更多元素。和 next()
获取下一个元素的方法。
<s:iterator value="#list3">
<s:property />
<s:property value="#list3.hasNext()"/>
</s:iterator>
关于java - Struts2 - append标签生成的结果不能迭代多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26835324/