Struts 1 から Struts 2 バージョンへの移行を含むプロジェクトに取り組んでいます。1つのjspで、イテレータを次のように持っています
<s:iterator var="each_part" value="#request.rule.parts" status="status">
ここで、「ルール」は配列リスト「パーツ」(POJO を含むリストでもある) を持つ POJO です。
イテレータ内に、.jsp を使用して含めていjsp:include
ます。
<s:iterator var="each_part" value="#request.rule.parts" status="eachpart">
<jsp:include page="/jsp/edit_rule_part.jsp">
<jsp:param name="id" value="<%=id%>" />
</jsp:include>
含まれている JSP、つまり edit_rule_part.jsp には、もう 1 つの反復子タグがあります。
<s:iterator var="cond" value="#request.rule.parts.conditions">
しかし、これはうまくいきません。私も使ってみました
<s:iterator var="cond" value="#each_part.conditions">
ここで、「each_part」はs:iterator
親 jsp の親の ID ですが、機能しませんでした。
したがって、構造は次のようになります
JSP1
-s:iterator (id = 'each_part')
-jsp:include
-JSP2
-s:iterator (id = 'cond')
したがって、問題は、JSP2 の「cond」反復子が JSP1 の「each_part」反復子を参照したいということです。
別のjspファイルにある別のイテレータ変数のイテレータ型の変数「each_part」にアクセスするにはどうすればよいですか?
通常、value = #.list で子イテレーターの親イテレーターを参照しますが、この場合、両方のイテレーターが異なる jsps にあります。
以前の struts1 では、これはネストされたルート タグを使用して実現されていました。