Вы можете легко объединить несколько объектов в один атрибут модели, используя объект-держатель, например:
public class Foo {
private String name;
...
}
public class Bar {
private String name;
...
}
public class FooBarForm {
private Foo foo;
private Bar bar;
...
}
.
<form:form modelAttriubte = "fooBarForm" method = "post">
<form:input path = "foo.name" />
<form:input path = "bar.name" />
</form:form>
.
@RequestMapping(...)
public String processForm(@ModelAttribute FooBarForm form, ...) { ... }
@RequestParam
также можно комбинировать с @ModelAttribute
(обратите внимание, что теги Spring не поддерживают @RequestParam
):
<form:form modelAttriubte = "foo" method = "post">
<form:input path = "name" />
<input type = "text" name = "bar_name" />
</form:form>
.
@RequestMapping(...)
public String processForm(@ModelAttribute Foo foo,
@RequestParam("bar_name") String barName) { ... }