инициализировать вложенный объект внутри командного компонента Simpleformcontroller - PullRequest
2 голосов
/ 26 октября 2010

У меня есть класс Account

public class Account {
private int id;
private String name;
//getters and setters
}

и класс Контакт

private class Contact {
private int contactid;
private Account account;
//getters and setters
}

В простом контроллере формы мы инициализируем объект команды с помощью метода setCommandName. Теперь мой вопрос: как мне инициализировать объект учетной записи, связанный с этим контактом?

1 Ответ

1 голос
/ 26 октября 2010

На самом деле, вы инициализируете свой командный объект в методе formBackingObject (), который обычно включает в себя фактический вызов new Contact() или другой тип объекта фабрики.

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

в вашем методе formBackingObject:

Contact contact = new Contact();
contact.setAccount(new Account());

или, внутри самого объекта Contact:

private Account account = new Account();

Для более подробного обсуждения, включая описание более сложного способа, которым я в итоге справился с этим, см. Мой вопрос Наилучшая практика для инициализации дерева объектов с поддержкой формы MVC

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