我有两个Set
set1 contains("A","B","C","D") elements
set2 contains("E","F","D","G") elements
我想将 set1
的每个元素与 set2
的每个元素进行比较,并使用 Struts2 标签显示匹配的元素。
最佳答案
重新排列以更好地列出几种方式:
有两个
Iterator
小号:<s:iterator value="setOne" var="first" status="ctr1"> <s:iterator value="setTwo" var="second" status="ctr2"> <s:if test="%{#first == #second}"> Common value detected : [<s:property value="%{#first}"/>] <br/> setOne position : [<s:property value="%{#ctr1.index}"/>] <br/> setTwo position : [<s:property value="%{#ctr2.index}"/>] <br/> </s:if> </s:iterator> </s:iterator>
使用单个迭代器和 Set.contains(Object) :
<s:iterator value="setOne" var="first" status="ctr1"> <s:if test="%{setTwo.contains('#first')}"> Common value detected : [<s:property value="%{#first}"/>] <br/> </s:if> </s:iterator>
使用单个迭代器和纯 OGNL:
<s:iterator value="setOne" var="first" status="ctr1"> <s:if test="%{#first in setTwo}"> Common value detected : [<s:property value="%{#first}"/>] <br/> </s:if> </s:iterator>
没有迭代器,使用 OGNL List Selection仅(感谢@AleksandrM 提供代码):
<s:property value="setOne.{? #this in setTwo}"/>
关于java - 如何使用 Struts 2 标签迭代 Set 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20069658/