这是我在jsp中的代码:

<s:iterator value="sources" status="sourceStatus">
  <s:property value="sourcesCheck"/>
  <s:property value="#sourceStatus.index"/>
  <s:if test="%{sourcesCheck.contains(#sourceStatus.index)}">
    true
  </s:if>
  <s:else>
    false
  </s:else>
</s:iterator>


sourcesCheck是我从操作中传递的一个数组,其中填充了值0、1、2、3、4、5。我的jsp上的结果显示sourcesCheck的0、1、2、3、4、5,但是测试始终为假。为什么?我已经尝试使用int和String值作为sourcesCheck。如何包含工作?如果index不是String或int,那是什么?

最佳答案

使用此代码:

        <s:iterator value="sources" status="sourceStatus">
            <s:property value="sourcesCheck"/>
            <s:property value="#sourceStatus.index"/>
            <s:if test="%{#sourceStatus.index in sourcesCheck}">
                true
            </s:if>
            <s:else>
                false
            </s:else>
        </s:iterator>

08-29 01:17