My List contains("A","B","C","D") elements

<s:iterator value="lis">
  <s:property /><br>
</s:iterator>

and String str="A";

<s:property value="%{#request.str}"/>

I want to compare every element of list(lis) with String s.

有帮助吗?

解决方案

With the IteratorStatus object:

<s:iterator value="lis" status="ctr">
    <s:property /> 
    <s:if test="%{#request.str.equals(lis[#ctr.index])}">
        -> This value from "lis" is equal to the value of "str"
    </s:if>
    <br/>
</s:iterator>

With the var parameter:

<s:iterator value="lis" var="currentValue">
    <s:property /> 
    <s:if test="%{#request.str.equals(#currentValue)}">
        -> This value from "lis" is equal to the value of "str"
    </s:if>
    <br/>
</s:iterator>

With the top keyword:

<s:iterator value="lis">
    <s:property /> 
    <s:if test="%{#request.str.equals(top)}">
        -> This value from "lis" is equal to the value of "str"
    </s:if>
    <br/>
</s:iterator>

You may wanna read the short OGNL Language Guide for more details.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top