java - 如何使用 Struts 2 标签迭代 Set 元素

标签 java jsp struts2 tags ognl

我有两个Set

set1  contains("A","B","C","D") elements
set2  contains("E","F","D","G") elements

我想将 set1 的每个元素与 set2 的每个元素进行比较,并使用 Struts2 标签显示匹配的元素。

最佳答案

重新排列以更好地列出几种方式:

  1. 有两个 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>
    
  2. 使用单个迭代器和 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>
    
  3. 使用单个迭代器和纯 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>
    
  4. 没有迭代器,使用 OGNL List Selection仅(感谢@AleksandrM 提供代码):

    <s:property value="setOne.{? #this in setTwo}"/>
    

关于java - 如何使用 Struts 2 标签迭代 Set 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20069658/

相关文章:

java - jsp中跨选项卡的 session 管理

java - Jasper Report用Struts2框架生成RTF格式

java - 类型 'android.view.ViewGroup' 的实例无法分配给类型 'com.android.keyguard.ChallengeLayout' 的变量

java - 创建两个不同的线程

database - 使用数据库中存在的值填充 jsp 下拉菜单

java - 如何使用jsp在Spring Boot Web应用程序中实现分页前端

java - 如何使用Java+Struts2在浏览器中打开Excel工作表?

java - 尝试对本地主机服务器进行压力测试时,JMeter 出现错误

java - JDBC INSERT INTO - 错误的主键

javascript - 在 JavaScript 中检索 innerHTML 的输入值在 IE 9 及更高版本中无法正常工作