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

时间:2010-08-25 18:46:43

标签: 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:if>
    <s:else>
        <p>not -1: <s:property value="subjectName" /></p>
    </s:else>
</s:iterator>

2 个答案:

答案 0 :(得分:0)

我不做Struts2,但在普通的JSP EL中,表达式只在里面大括号中进行评估。这也很有道理。例如。 <c:if test="${parentID == -1}" />。看看Struts2标签中是否有帮助。快速浏览一下their documentation,我就知道确实应该如此。

答案 1 :(得分:0)

我认为你需要这样的事情:

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

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