2011-12-28 200 views
4

我試圖檢查列表是否包含特定元素或者在<s:if>標記中使用Struts 2?如何檢查List是否包含Struts2中的特定元素?

<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> 
... 

回答

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文檔:

相關問題