在命令bean,Simpleformcontroller中初始化一个嵌套对象

时间:2010-10-26 18:38:30

标签: java spring-mvc

我有一个班级帐户

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 个答案:

答案 0 :(得分:1)

实际上,您在formBackingObject()方法中初始化命令对象,这通常涉及实际调用new Contact()或使用某种类型的工厂对象。

要初始化嵌套对象,您几乎必须手动完成。选项包括:

在formBackingObject方法中:

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

或,在Contact对象本身内:

private Account account = new Account();

有关更多讨论,包括我最终处理此问题的相关方式的说明,请参阅我的问题Best Practice for Spring MVC form-backing object tree initialization