Estoy buscando una forma de personalizar el enlace de parámetros de Spring MVC predeterminado. Tome este método como un ejemplo:Enlace de parámetro de método personalizado MVC de primavera
@RequestMapping(value="/index.html")
public ModelAndView doIndex(@RequestParam String param) {
...
Esto es fácil, cuando tengo sólo un String
que quiero extraer de la solicitud. Sin embargo, quiero llenar un objeto más completa, de modo que mi método es el siguiente:
@RequestMapping(value="/index.html")
public ModelAndView doIndex(Foo bar) {
...
Lo que estoy buscando es una manera de declarar una unión como ésta;
@RequestMapping(value="/index.html")
public ModelAndView doIndex(@FooPopulator Foo bar) {
...
Y tienen algún otro tipo de implementador (determinado por el @FooPopulator
anotación) que hace esto:
public void doBind(Foo target, ServletRequest originalRequest) {
target.setX(this.computeStuffBasedOn(originalRequest));
target.sety(y);
}
Hasta ahora he descubierto acerca de la annotaion @InitBinder
ligante, pero estoy seguro de si esa es realmente la elección correcta para este escenario.
¿Cuál es la mejor manera?
También podría usar 'ModelAttribute' para mapear frijoles – atrain