0

私は以下のようなクラスを持ってMyClassいます

public class MyClass {
    private int fieldOne;        //with getter, setter
    private String fieldTwo;     //with getter, setter
}

フォーム Bean に次の 2 つのフィールドがあります

private MyClass myObject;            //with getter, setter
private ArraList<MyClass>myList;     //with getter, setter

struts1 を使用して、Web ページ フォームからオブジェクトとオブジェクトのリストを送信したいと考えています。

struts2 では、以下のようにオブジェクトとリストをアクションで取得できます (フィールドがフォーム Bean ではなくアクション クラスにないことを考慮してください)。次のフィールドが送信されると、struts2 が開始されmyObjectmyList私にとっては送信された値が使用されます。(パラメーター インターセプターは、struts2 の舞台裏の魔術師です。)

<!-- Object -->
<input type="text" name="myObject.fieldOne" value="1" />
<input type="text" name="myObject.fieldTwo" value="Two" />
...
<!-- List -->
<input type="text" name="myList[0].fieldOne" value="1" />
<input type="text" name="myList[0].fieldTwo" value="Two" />

<input type="text" name="myList[1].fieldOne" value="10" />
<input type="text" name="myList[1].fieldTwo" value="Twenty" />

struts1 でそのような魔法を実行する方法はありますか?

4

1 に答える 1

1

AFAIR、フォーム Bean のリストに既に適切なサイズのリストが含まれていれば、同じことが Struts1 でも機能します。つまり、最後の入力テキストに name が含まれている場合myList[7].fieldOne、リストのサイズは少なくとも 8 にする必要があるため、8つのMyClassインスタンスが事前に入力されます。STruts はformBean.getMyList().get(7).setFieldOne(10).

詳細については、 http://struts.apache.org/development/1.x/struts-taglib/indexedprops.htmlを参照してください。

于 2013-04-10T13:58:23.460 に答える