Bom dias pessoas,
Vou tentar resumir a dúvida:
Tenho um link em uma jsp:
E mapeio essa url no controller:
@RequestMapping(value = "alteracao_usuario")
public String carregaUsuario(HttpServletRequest request, Model model) {
String id = request.getParameter("id");
//aqui carrego a tela de alteração de usuario, passando pro model o usuário e a jsp já carregando seus respectivos inputs
return "alteracao";
}
E mapeio também o mesmo método com o POST (o form da jsp de alteração tem o mesmo url)
@RequestMapping(value = "alteracao_usuario", method = RequestMethod.POST)
public String alteraUsuario(@Valid Usuario usuario, BindingResutl result, HttpServletRequest request) {
if (result.hasErrors) {
//AQUI ESTÁ O PROBLEMA, já que eu preciso passar o valor por get no controller acima novamente.
return "alteracao";
}
}
Neste ultimo controller está o problema, pois se uso redirect, tenho que passar o valor por get novamente (o que não acho muito seguro, sem contar que fica feio também).
Se uso forward, o server encaminha a requisição, mas como ela é por POST, a GET acima não aceita, e se aceita, dá erro na hora de pegar o parametro id por get também.
Estou nisso há 3 dias, tentando resolver de uma forma que não vire POG, se alguem tiver uma idéia de como resolver, agradeço e muito. Qualquer dica é bem vinda também.
Grato desde já, abraços.