Struts2 - Редактировать составной объект - PullRequest
1 голос
/ 01 февраля 2011

У меня есть сложный объект, который состоит из множества объектов другого типа.В качестве примера давайте предположим, что у меня есть тип User, и каждый объект User содержит много экземпляров Address.Адрес содержит номер дома (int) и название улицы (String).Я хотел бы создать одну форму для редактирования этого пользовательского объекта и всех его адресов.Как я могу это сделать?Я знаю, как бы я это сделал, если бы у пользователя был один адрес.Это будет выглядеть примерно так (при условии правильных методов получения и установки):

//In the JSP
<s:textfield name="user.address.houseNumber/>

//In the Action
void setUser(User user) {...}

По волшебству объект User будет представлен с новым номером дома.Но как это работает при редактировании коллекций объектов, как я перечислил выше?Нужно ли где-то менять имя входного тега и иметь какой-то специально названный сеттер для типа User?

1 Ответ

1 голос
/ 01 февраля 2011

Если целью сеттеров является список или массив, вы можете отправить несколько параметров с одинаковым именем, и они будут добавлены в список. Вы также можете использовать запись массива для вставки в определенном месте, если это имеет смысл.

Например, это должно работать:

user[x].address[y].houseNumber

Если целью является карта, то x и y должны быть подходящими ключами. Более менее то, что вы используете в JSP для доступа к вложенным компонентам, относится к форме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...