Tengo una forma que presente el usuario nombre y apellido usando la POST signin.htmlCómo pasar datos entre solicitudes de Post/Redirect/Get pattern en Spring MVC?
@RequestMapping(value="/signin.html",method = RequestMethod.POST)
public ModelAndView submit(@Valid User user){
ModelAndView mv = new ModelAndView("redirect:signin.html");
//Business logic with user account
return mv;
}
Con el fin de resolver el doble problema que estoy presentar volver a dirigir a la misma asignación mediante petición GET.
@RequestMapping(value="/signin.html",method = RequestMethod.GET)
public ModelAndView submitPRG(){
ModelAndView mv = new ModelAndView("submitted");
mv.addObject("message", "Submitted Correctly");
return mv;
}
De esta manera resuelvo el problema de enviar dos veces.
Tengo algunas preguntas:
1) ¿Cómo puedo saber que GET solicitud en /signin.html procedentes de redirección y no ha sido solicitada por el usuario en el navegador? Simplemente me gustaría cerrar la opción para que el usuario explore http://server/signin.html y aparezca el mensaje "Enviado correctamente". Sé que puedo agregar algo como /signin.html?submitted=true, pero me gustaría hacerlo más limpio.
2) ¿hay alguna manera de pasar el objeto ModelAndView
de submit()
a submitPRG()
?
O simplemente, ¿hay alguna otra forma de utilizar PRG en este caso?
Gracias de antemano, pero ¿cómo puedo obtener referencia de HttpServletRequest? –