如何检查List是否包含Struts2中的特定元素?

时间:2011-12-28 10:03:06

标签: java jsp struts2 ognl

我试图在<s:if>代码中使用Struts 2检查List是否包含特定元素?

<display:table class="noheader-border" id="data" name="lstAttendance" sort="list"
               uid="row" htmlId="sources" export="false">
    <display:column style="width:150px">
        <s:property value="%{#attr.row.worker.workerName}" />
    </display:column>
    <display:column style="width:10px;weight:bold;">:</display:column>
    <s:if test="lstSalaryDefinedWorkerId.contains(%{#attr.row.workerId})">
        ...
    </s:if>
...

1 个答案:

答案 0 :(得分:7)

我猜你可以使用OGNL语法来做到这一点。例如,我的动作类中有一个列表和一个属性,如:

private List test;
private String p = "a1";
// And their getters and setters

public String execute() throws Exception {
    test = new ArrayList();
    test.add("a");
    test.add("b");
    test.add("c");
    test.add("d");
    test.add("e");
    return SUCCESS;
}

我需要在JSP页面中执行以下操作

<s:if test="%{p in test}">
  Inside If block
</s:if>
<s:else>
  Inside Else block
</s:else>

有关详细信息,请参阅Struts 2 OGNL文档: