Java 如何访问struts if标记的test属性中的属性

Java 如何访问struts if标记的test属性中的属性,java,jsp,struts2,iterator,Java,Jsp,Struts2,Iterator,我正在迭代一个名为“分类”的bean数组。如何访问标记中的parentID属性?我尝试了%{parentID},但不起作用 <s:iterator value="classifications" status="theStatus"> <s:if test="%{parentID} == -1"> <p>-1: <s:property value="subjectName" /></p> </s:i

我正在迭代一个名为“分类”的bean数组。如何访问标记中的parentID属性?我尝试了%{parentID},但不起作用

<s:iterator value="classifications" status="theStatus">
    <s:if test="%{parentID} == -1">
        <p>-1: <s:property value="subjectName" /></p>
    </s:if>
    <s:else>
        <p>not -1: <s:property value="subjectName" /></p>
    </s:else>
</s:iterator>

-1:

非-1:


我不做Struts2,但在正常的JSP EL中,表达式只在花括号内计算。这也是有道理的。例如,
。看看在Struts2标记中这样做是否有帮助。快速看一眼我就知道情况确实如此。

我想你需要这样做:

<s:iterator value="classifications" status="theStatus" id="c">
    <s:if test="#c.parentID == -1">
        <p>-1: <s:property value="#c.subjectName" /></p>
    </s:if>
    <s:else>
        <p>not -1: <s:property value="#c.subjectName" /></p>
    </s:else>
</s:iterator>

-1:

非-1:

根据您使用的struts版本,您可能需要在迭代器标记中将id属性更改为var