0

这种情况就像我想从控制器传递多个模型对象,我可以实现,

 model .addAttribute(“person”, new Person());
 model.addAttribute(“address”, new Address());

但是如何在 spring 视图中同时通过它们或更多

<form:form action=”registration” command=”person”&gt;

因为它只允许我通过一个命令。那么如何将所有的require命令传递给他们。

4

1 回答 1

4

只需将两者都添加personaddress一个名为的封装对象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”&gt;

一旦你这样做了,你就必须path适当地修改 s 。

<form:input path="firstName" />

变成

<form:input path="person.firstName" />

其他更优雅的选择是将其包含Address在其中Person并将其Person作为命令公开。正如@Seabook 在他下面的回答中提到的那样。

于 2013-08-15T07:23:58.660 回答