Você está na página 1de 2

11/10/2019 new 3.

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.

Será em dois passos:

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.

Implementação do método de REFRESH na classe BeanViewAbstract:

file:///C:/Users/Alex Fernando Egidio/Desktop/new 3.html 1/2


11/10/2019 new 3.html

E por último fazer a chamada do REFRESH no método de SUCESSO.

Bug corrigido.

file:///C:/Users/Alex Fernando Egidio/Desktop/new 3.html 2/2

Você também pode gostar