Припустимо, у мене є сторінка, що містить перелік об’єктів на столі, і мені потрібно поставити форму для фільтрації таблиці. Фільтр надсилається як 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
, Приклад обробки форми MVC Spring Spring . Просто перейдіть на Google " Весняна обробка форми MVC ", і ви отримаєте безліч навчальних посібників / прикладів. Але обов'язково використовуйте сучасний спосіб обробки форми, тобто Spring v2.5 +
@ModelAttribute
весняним MVC