リストを保持する必要がある場合は、セッションを使用する必要があります。
しかし、あなたが(私があなたの問題を理解していれば)単にリストを処理する必要がある場合
ActionOne (リストを作成する) ->
JSPOne (ユーザーにリストを表示する) ->
ACtionTwo (JSPOne から List を受け取り、それを処理する)
、ユーザーがリストのクライアント側を変更できるという事実を心配する必要がない場合 (たとえば、FireBug を使用して Web ページを操作する場合)、セッションは必要ありません。
List オブジェクトを ActionOne と ActionTwo で宣言し (getter と setter、少なくとも ActionOne では getter を、少なくとも ActionTwo では setter を使用)、name
JSP タグの属性に List 名とインデックスを含めるだけで済みます。(タグのように)それを描画するだけの場合は、 のように<s:property/>
値を投稿するタグを使用する代わりに、 を使用して値を投稿します。<s:textfield />
<s:hidden />
たとえば、次の場合:
List<MyObject> myList //with getters and setters
id
MyObject にandvalue
フィールド (getter と setter を使用)があると仮定すると、
の代わりに JSP で
<s:iterator value="myList" >
<s:property value="id"/>
<s:textfield name="value"/>
</s:iterator>
使用する
<s:iterator value="myList" status="ctr" >
<s:hidden name="myList[#ctr.index].id" value="id"/>
<s:property value="id"/> <!-- no need here, you won't post this -->
<s:textfield name="myList[#ctr.index].value" value="value" />
</s:iterator>
最終的には、このようなリストをVisitor Validatorを介して検証します(残りのすべてが完了した後、どこかで :)
楽しみ