2

私が見る限りs:iterator、属性を使用していても、常に現在のアイテムを OGNL 値スタックにプッシュしvarます。これは、現在のアイテムのすべてのメンバーがループ内で最上位の OGNL 変数になり、アクションのプロパティを潜在的に隠すことを意味します。

<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