Olá desenvolvedores, no tutorial de hoje evoluiremos mais um pouco o cadastro de usuários criando um método para manter os dados em tela, mesmo após o bloqueio ou a validação.
O que acontece quando tentamos adicionar um usuário com um login já existente no banco de dados? Após a verificação e validação, ou seja, após a constatação de que o usuário já existe, a nossa aplicação não preserva o estado do formulário. Assim, os campos são limpos, e todas as informações precisam ser inseridas novamente.
IMPLEMENTAÇÃO DOS AJUSTES
Desse modo, após clicarmos em “salvar” depois de inserido os dados, e se o cadastro não passar pela validação, visto que o login já existe no sistema, ainda temos um objeto injetado com os dados. Assim na servlet Usuario.java, se o “podeInserir”, for igual a false, o atributo user deverá ser setado, e deverá ser igual ao objeto usuário que carrega os dados que virão da tela.
E a partir deste ponto o fluxo de processamento segue naturalmente, uma vez que logo abaixo, a nossa implementação define o retorno para a tela cadastroUsuario.jsp, carregando a lista de usuários, porém com um novo atributo. Desse modo os dados digitados são preservados, mesmo que as implementações de segurança nos impeça de finalizar o cadastro.
Com esta implementação, os campos do formulário somente não serão preservados se o cadastro for validado e concluído com sucesso. Porém, se for bloqueado deverá voltar a tela de cadastro e com os dados.
Observe que além de preservar os dados, o campo de código (id) retorna com o valor zero. Isso ocorre porque na instância do objeto bean, se o id for diferente de vazio, ele está sendo convertido para long, porém, o valor a ser passado deveria ser null, porque o vazio é String, e o id é do tipo long. Desse modo o campo código (id) deverá retornar sem informação.
EM POUCAS PALAVRAS
Conseguir raciocinar em cima do código, descobrindo problemas ou pontos que podem ser melhorados e implementar a soluções, é um conhecimento que se constrói com o tempo, com anos e anos escrevendo códigos, errando e aprendendo. Então reveja as aulas, tente fazer suas próprias implementações, faça os desafios, dedique tempo no aprimoramento das suas habilidades. Eu fico por aqui e nós nos vemos no próximo tutorial.