这种情况就像我想从 Controller 传递多个模型对象,我可以这样实现,
model .addAttribute(“person”, new Person());
model.addAttribute(“address”, new Address());
但是如何在 Spring View 中传递它们两个或多个
<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”>
完成此操作后,您必须适当修改路径
。
<form:input path="firstName" />
变成
<form:input path="person.firstName" />
其他更优雅的选项是将 Address
包含在 Person
中,并将 Person
公开为命令。正如@Seabook 在下面的回答中提到的。
关于java - 如何从 Controller 传递多个模型对象以及如何将所有作为命令对象传递到表单 :form in spring mvc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18247896/