2015-01-12 41 views
1

我有數組列表調用matrixList,我正在迭代。我想,如果從回報率的getStatus value()方法等於看重「綠色」。對於一些原因,我得到錯誤 顯示不同的價值「的目標是爲null方法等於」Struts2如果條件使用字符串列表

<s:iterator status="stat" value="matrixList"> 
    <tr> 
    <s:if test="%{#status.equals('GREEN')}"> 
     THIS IS green 
    </s:if> 

    <td class="R0C1"><s:property value="status"/></td> 
    <td class="R0C1"><s:property value="releaseTarget"/></td> 
    </tr> 
</s:iterator> 

任何想法,我失蹤?

+0

你確定'status'不是null嗎? –

+0

是,狀態值不爲空。它具有'綠色'的價值,我將它顯示在單獨的欄目中。 – Ammad

回答

2

省略#如果status是值棧(如堆棧方面而不是一個命名值):

<s:if test="%{status.equals('GREEN')}"> 

如果<s:property value="status"/>作品爲什麼在<s:if>標籤不同的參考呢?

+0

謝謝。刪除'#'標誌修復它。 – Ammad

0

if聲明中使用的屬性名稱應該是stat而不是status

<s:if test="%{#stat.equals('GREEN')}"> 

這是因爲在迭代範圍變量的名稱在status = "stat"聲明被定義爲stat

+0

但是我想通過getStatus()方法與值返回進行比較。 Ammad

+0

'status =「stat」'是屬性''標記哪個**不是**當前迭代元素。 –

+0

它也是當前迭代元素,就像上面顯示的releaseTarget一樣。 – Ammad