Supongamos que tengo una página que enumera los objetos en una tabla y necesito poner un formulario para filtrar la tabla. El filtro se envía como Ajax GET a una URL como esa: http://foo.com/system/controller/action?page=1&prop1=x&prop2=y&prop3=z
Y en lugar de tener muchos parámetros en mi controlador como:
@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) { ... }
Y suponiendo que tengo MyObject como:
public class MyObject {
private String prop1;
private String prop2;
private String prop3;
//Getters and setters
...
}
Quiero hacer algo como:
@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
@RequestParam(value = "page", required = false) int page,
@RequestParam(value = "myObject", required = false) MyObject myObject,) { ... }
¿Es posible? ¿Cómo puedo hacer eso?
@ModelAttribute
, Ejemplo de manejo de formularios Spring MVC . Simplemente busque en Google " Spring MVC form handle " y obtendrá un montón de tutoriales / ejemplos. Pero asegúrese de utilizar una forma moderna de manejo de formularios, es decir, Spring v2.5 +
@ModelAttribute
en Spring MVC