Estoy tratando de implementar URLs RESTful en mi aplicación Spring MVC. Todo está bien excepto para el envío de formularios. Necesito redireccionar al formulario original o a una página de "éxito".Spring MVC Controller redirige usando parámetros de URL en lugar de en respuesta
@Controller
@RequestMapping("/form")
public class MyController {
@RequestMapping(method = RequestMethod.GET)
public String setupForm() {
// do my stuff
return "myform";
}
@RequestMapping(method = RequestMethod.POST)
public String processForm(ModelMap model) {
// process form data
model.addAttribute("notification", "Successfully did it!");
return "redirect:/form";
}
}
Sin embargo, como he leído en el Spring documentation, si redirige ningún parámetro se pondrán en la url. Y eso no funciona para mí. ¿Cuál sería la forma más elegante de esto?
¿Qué URL de redireccionamiento quieres conseguir? – skaffman
Realmente no importa, solo tengo que redireccionar después de procesar los datos de la publicación en una página y notificar al usuario que lo que presentaron se procesó correctamente. Parece que esta es una solicitud común http://jira.springframework.org/browse/SPR-1294. Pero podría no solucionarse por un tiempo. – predhme
En realidad, no parece que ninguno de los arreglos descritos en los dos tickets relacionados resuelvan su problema en particular: uno de ellos trata de controlar qué atributos del modelo están expuestos como cadenas de consulta (pero aún así expondrá algunos) y el otro consiste en agregar atributos como parte de la ruta de la url (que es agradablemente relajante para los ID, por ejemplo, pero aún no le da un lugar para llevar un mensaje de éxito). –