2

据我所知s:iterator,即使我使用该var属性,也总是将当前项目推入 OGNL 值堆栈。这意味着当前项目的所有成员都成为循环内的顶级 OGNL 变量,可能隐藏了 Action 的属性:

<s:property value="owner" /> <%-- From the Action --%>
<s:iterator value="projects" var="project">
    <s:property value="#project.owner" /> <%-- From the project, obviously --%>
    <s:property value="owner" /> <%-- Ops, also from the project! --%>
</s:iterator>
<%-- (Fun(?) fact: #project.owner is still accessible here) --%>

我们迭代的对象(通常具有多个嵌套级别)具有许多属性,并且它们的数量可以在以后增加。意外隐藏属性的危险是非常真实的,更糟糕​​的是,向 JavaBeans 添加属性可能会破坏曾经工作的页面。

我在这里错过了什么吗?如何使用 Struts 2 + JSP 遍历复杂对象?

4

0 回答 0