Escolar Documentos
Profissional Documentos
Cultura Documentos
html
CORREÇÃO DE BUG
PROBLEMA DO RECARREGANDO COM F5 OU RECARREGAMENTO DA PÁGINA QUE CAUSA DUPLICAÇÃO DE DADOS NO JSF.
1 - ENTENDENDO O PROBLEMA:
No JSF quando efetuamos um envio de formulário para salvar os dados é muito comum manter o sistema na mesma página sem fazer redirecionamento e isso
fazendo usando o ActionListener com os CommandButton e fazendo um retorno null ou vazio para a página e isso a mantém na mesma tela.
2 - O PROBLEMA:
Com isso ocorre o problema no JSF manter os dados armazenados no Bean gerenciado pelo ManagedBean e quando a tela é atualizada com com F5 ou então usando
o campo de recarregar do navegador os dados são enviados novamente e acontece a duplicação dos dados no banco de dados por a ultima operação é enviada
novamente.
3 - SOLUÇÃO:
Então nós já temos a estrutura do projeto de estudo criada, ao objetivo é corrigir sem quebrar ou ter grande manutenção no sistema. Como no curso nós montamos
padrões centralizados isso irá nos ajudar na correção.
O Primeiro passo é bloquear o F5, CTRL + R e CTRL + F5 quando o sistema estiver aberto.
Segue código JavaScript colocado no templatePrincipal.xhtml para aplica a correção a todo o sistema.
O Segundo passo é nós implementarmos o métodos que irá fazer o RELOAD forcado da tela JSF e isso irá limpar os dados em cache evitando a duplicação, esse
método devera ser chamado de dentro do método de sucesso, assim a correção fica correta para todo o sistema.
Bug corrigido.