0

我有一门课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为我提供提交的值。(Parameters 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中执行这种魔术?

4

1 回答 1

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 。

于 2013-04-10T13:58:23.460 回答