我有一个名为matrixList的数组列表,我正在迭代。我想显示不同的值,如果getStatus()方法的返回值等于值" GREEN"由于某种原因,我得到了错误 "对于方法等于"
,target为null<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 :(得分:2)
如果#
在值堆栈上(而不是堆栈上下文中的命名值),则忽略status
:
<s:if test="%{status.equals('GREEN')}">
如果<s:property value="status"/>
有效,为什么在<s:if>
代码中以不同方式引用它?
答案 1 :(得分:0)
if
语句中使用的属性名称应为stat
而不是status
。
<s:if test="%{#stat.equals('GREEN')}">
这是因为迭代范围中变量的名称在stat
语句中定义为status = "stat"
。