这种情况就像我想从控制器传递多个模型对象,我可以实现,
model .addAttribute(“person”, new Person());
model.addAttribute(“address”, new Address());
但是如何在 spring 视图中同时通过它们或更多
<form:form action=”registration” command=”person”>
因为它只允许我通过一个命令。那么如何将所有的require命令传递给他们。
这种情况就像我想从控制器传递多个模型对象,我可以实现,
model .addAttribute(“person”, new Person());
model.addAttribute(“address”, new Address());
但是如何在 spring 视图中同时通过它们或更多
<form:form action=”registration” command=”person”>
因为它只允许我通过一个命令。那么如何将所有的require命令传递给他们。
只需将两者都添加person
到address
一个名为的封装对象personDetails
中并将其传递给表单。
class PersonDetails {
private Person person;
private Address address;
...
}
PersonDetails personDetails = new PersonDetails();
personDetails.setPerson(new Person());
personDetails.setAddress(new Address());
model.addAttribute(“personDetails”, personDetails);
<form:form action=”registration” command=”personDetails”>
一旦你这样做了,你就必须path
适当地修改 s 。
<form:input path="firstName" />
变成
<form:input path="person.firstName" />
其他更优雅的选择是将其包含Address
在其中Person
并将其Person
作为命令公开。正如@Seabook 在他下面的回答中提到的那样。