Предположим, у меня есть страница со списком объектов на таблице, и мне нужно поместить форму для фильтрации таблицы. Фильтр отправляется в виде Ajax GET на URL-адрес, подобный следующему: http://foo.com/system/controller/action?page=1&prop1=x&prop2=y&prop3=z
И вместо того, чтобы иметь много параметров на моем контроллере, как:
@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
@RequestParam(value = "page", required = false) int page,
@RequestParam(value = "prop1", required = false) String prop1,
@RequestParam(value = "prop2", required = false) String prop2,
@RequestParam(value = "prop3", required = false) String prop3) { ... }
И предположим, у меня есть MyObject как:
public class MyObject {
private String prop1;
private String prop2;
private String prop3;
//Getters and setters
...
}
Я хочу сделать что-то вроде:
@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
@RequestParam(value = "page", required = false) int page,
@RequestParam(value = "myObject", required = false) MyObject myObject,) { ... }
Является ли это возможным? Как я могу это сделать?
@ModelAttribute
, Пример обработки форм Spring MVC . Просто зайдите в Google « Обработка форм Spring MVC », и вы получите массу учебников / примеров. Но обязательно используйте современный способ обработки форм, то есть Spring v2.5 +
@ModelAttribute
в Spring MVC