Amigos estou desenvolvendo com vraptor.
Pergunta : Quando dou F5 ,esta salvando de novo um objeto que ja foi salvo.
Alguem ja passou por isso ?
Pode me responder como faço para bloquear isto. :shock:
Obrigado ,pela atenção.
Quando dou F5 ,esta salvando de novo um objeto que ja foi salvo
3 Respostas
Faça “verificação de chaves”. Todo form seu terá um número que será associado ao seu envio. Então quando receber esse número, você verifica se ele já existe. Se existir, ignore o formulário.
Nada complexo.
Até!
Existem n maneiras. Uma interessante é fazer um redirect.
Não conheço vraptor a fundo (nem “a raso”) para lhe dar a resposta correta. Mas se fosse Servlet, você faria assim:
response.sendRedirect("/buscaValorPath");
Onde /buscaValorPath é o caminho usado para buscar o valor do objeto.
E aí fica assim, quando o usuário apertar o botão de salvar, vai chamar a URL que salva. A ação de salvar pede, no fim, um redirect para a ação de buscar. O browser, sozinho, vai chamar a ação de buscar, que vai mostrar ao usuário o valor buscado.
Quando o usuário der atualizar, ou F5, será usado a última URL, que é agora o de buscar, e não o de salvar.
É isso.
Amigos, obrigado pelos toques.
Foi muito util.