提交对象和列表struts1

时间:2013-04-10 12:50:46

标签: struts2 struts struts-1

我有一个课程MyClass,如下所示

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

我在表单bean中有以下两个字段

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

使用struts1我想从网页表单提交对象和对象列表。

在struts2中,我们可以按下面的方式获取对象和列表(考虑字段不在动作类而不是表单bean)。提交以下字段后,struts2会根据提交的值为我发起myObjectmyList。 (参数Interceptor是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中执行这样的魔术?

1 个答案:

答案 0 :(得分:1)

AFAIR,同样适用于Struts1,前提是表单bean中的列表包含一个已经具有正确大小的列表。即如果最后一个输入文本的名称为myList[7].fieldOne,则列表的大小应至少为8,因此预先填充8 MyClass个实例。 STruts只会执行formBean.getMyList().get(7).setFieldOne(10)

有关详细信息,请参阅http://struts.apache.org/development/1.x/struts-taglib/indexedprops.html