Отправка объектов и списков struts1

У меня есть класс MyClass, как показано ниже

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

У меня есть следующие два поля в моем компоненте формы

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

Используя struts1, я хочу отправить объект и список объектов из формы веб-страницы.

В struts2 мы можем получить объект и список в действии, как показано ниже (учитывая, что поля не находятся в классе действий, а не в компоненте формы). Когда следующие поля отправляются, struts2 инициирует myObject и myList для меня с отправленными значениями. (Перехватчик параметров — это волшебник за кулисами в 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?


person Bilal Mirza    schedule 10.04.2013    source источник


Ответы (1)


AFAIR, то же самое будет работать в Struts1, при условии, что список в вашем компоненте формы содержит список, который уже имеет правильный размер. т.е. если последний введенный текст имеет имя myList[7].fieldOne, список должен иметь размер не менее 8 и, таким образом, предварительно заполняться 8 экземплярами MyClass. STruts будет делать только formBean.getMyList().get(7).setFieldOne(10).

См. http://struts.apache.org/development/1.x/struts-taglib/indexedprops.html для получения дополнительной информации.

person JB Nizet    schedule 10.04.2013