我有两个Set
s
set1 contains("A","B","C","D") elements
set2 contains("E","F","D","G") elements
我想比较每个元素set1
与每一个元素set2
并使用 Struts2 标签显示匹配的元素。
重新整理以更好地列出几种方式:
-
与两个Iterators:
<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(对象):
<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 名单选择仅(感谢@AleksandrM 提供代码):
<s:property value="setOne.{? #this in setTwo}"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)