繁体   English   中英

如何从控制器传递多个模型对象以及如何将所有作为命令对象传递给spring mvc中的form:form?

[英]How to pass multiple model objects from controller and how to pass all as command objects into the form:form in spring mvc?

场景就像我想从控制器传递多个模型对象一样,我可以实现,

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

但是如何在春季视图中同时通过两者或更多

<form:form action=”registration” command=”person”>

因为它只允许我传递一个命令。 然后如何将所有require命令传递给它们。

只需将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”>

完成此操作后,您将必须适当地修改path

<form:input path="firstName" />

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

其他更优雅的选择是将Address封装在Person内,然后将Person作为命令公开。 就像@Seabook在下面的答案中提到的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM