2009-04-24 22 views
6

¿Cómo puedo, sin anotaciones, crear y cablear un controlador que realizará una acción basada en un parámetro de consulta?Controlador Spring MVC Parámetros de consulta HTTP GET

Así que tal vez tengo una página con una lista de elementos, y cada uno es un enlace como "edititem.htm? Id = 5". Cuando el usuario hace clic en un enlace, quiero que el controlador cargue el "elemento n.º 5" y lo pase a mi formulario de edición.

Lamento hacer una pregunta tan tonta, pero por alguna razón no encuentro ningún ejemplo de cómo hacer esto en línea.

Respuesta

6

Debe tener un controlador que se asigna a edititem.htm. (Tal vez un SimpleFormController)

Ignorar uno de los dos métodos ShowForm para poblar el modelo con el artículo:

protected ModelAndView showForm(HttpServletRequest request, HttpServletResponse response, BindException errors){ 
//get the id 
int id = Integer.parseInt(request.getParameter("id")); 

// get the object 
Item item = dao.getItemById(id); 
return new ModelAndView(getFormView(), "item", item); 
} 

También, ver Different views with Spring's SimpleFormController

+0

D'oh! Gracias, eso es bastante simple! – Boden

+0

Obsoleto en Spring 3 y eliminado en Spring 4. Spring frameworks obviamente no quería admitir dos enfoques diferentes, por lo que descartó FormControllers a favor de la configuración impulsada por anotaciones. – Adam

Cuestiones relacionadas