我无法解决我的绑定问题。
我有一个班级人员
Class Person {
Private fname;
private lname;
public Address address;
现在另一个班级
class Address {
private street;
private suburb;
}
在控制器中我有
model.addAttribute("personAttribute", new Person());
在jsp页面我有
<form:form modelAttribute="personAttribute" method="POST" action="${saveUrl}">
<td><form:input path="firstName"/></td>
提升此evrrythng是好的,但是当我添加
时<td><form:input path="street"/></td>
然后成为问题。我不知道如何添加Adress对象。
我的意思是我必须做什么
model.addAttribute("personAttribute", new Person(new Address()));
or
model.addAttribute("addressAttribute", new Address());
or
td><form:input path="person.address.street"/></td>
答案 0 :(得分:1)
你必须像这样绑定路径:
<td><form:input path="address.street"/></td>
这是因为你在约束Person
对象的范围内。
答案 1 :(得分:0)
以下代码是正确的:
model.addAttribute("personAttribute", new Person());
这将使用空属性初始化Person,包括空地址。
如果要确保地址不为空,则必须传递包含值的person实例。例如
Person person = new Person();
person.setFirstName("John");
person.setLastName("Smith");
Address address = new Address();
address.setStreet("#10 Avenue");
address.setSuburb("Cook");
person.setAddress(address);
通常,您可能希望使用从数据库或数据源检索的值填充person对象。