Olá desenvolvedores, neste tutorial iremos utilizar o JSF para implementar mensagens de feedback para o usuário. Sempre que o usuário interage com a nossa aplicação é preciso orientá-lo e informá-lo acerca dos passos que ele precisa seguir, como os indicativos do label, por exemplo. O h:outputLabel renderiza um elemento de “rótulo” HTML.
No entanto aqui, a mensagem deve informar ao usuário se algum campo obrigatório não foi preenchido, se o formulário foi enviado com o sucesso, ou se ele deve repetir o processo por alguma eventual falha que tenha ocorrido. Estas mensagens deverão ser exibidas após alguma ação de interação do usuário com a aplicação.
Assim, neste tutorial criaremos uma rotina para a exibição de mensagens para o usuário com o JSF – JavaServer Faces, por meio do ManagedBean.
MÉTODO NOSTRARMSG()
Quando o usuário clicar no botão de “salvar” se o processamento foi concluído com sucesso, uma mensagem deverá ser apresentada informando “Cadastrado com sucesso!”. Desse modo no ManagedBean, pessoaBean, o método salvar() deverá, no final, chamar o método mostrarMsg(), passando como argumento a mensagem que desejamos exibir.
mostrarMsg(“Cadastrado com sucesso”)
O método que exibe a mensagem de feedback para o usuário é sempre o último a ser chamado. Mas por que? Porque muitas rotinas podem ter sido implementadas e na etapa de processamento elas podem apresentar falhas, assim, neste caso após o processamento de todas as rotinas a mensagem informando que um erro ocorreu deverá ser apresentada em tela.
Mas por hora nos concentraremos na mensagem de feedback positivo. Assim, criaremos o método mostrarMsg(), que como parâmetro receberá a mensagem.
private void mostrarMsg(String msg){}
No escopo do método o primeiro passo é acessar o contexto em que o JavaServer Faces está rodando, este contexto é o ambiente. O FacesContext contém todas as informações de estado por solicitação relacionadas ao processamento de uma única solicitação JavaServer Faces e a renderização da resposta correspondente. Assim, a partir deste contexto obteremos a instância do JSF.
FacesContext context = FacesContext.getCurrentInstance();
Então chamaremos o FaceMessage por meio do qual passaremos a mensagem como argumento. Desse modo adicionaremos a mensagem ao contexto do JSF para ele exibir a mensagem.
Quando adicionamos a mensagem ao contexto, o JSF nos pede para informar o componente associado que mostrará a mensagem, não querendo associar a exibição da mensagem a nenhum componente, informe apenas “null”, o segundo argumento é o objeto da mensagem, neste caso o “message”.
MESSAGEM | JSF
Do lado do JSF – JavaServer Faces, na primeirapagina.xhtml no topo do formulário de cadastro adicionaremos o componente h:messages. A tag h:messages mostra todas as mensagens em um local correspondente na Interface do sistema.
<h:messages />
Ok, mas achei a mensagem simples e quase passa despercebida. Tudo bem, com a propriedade infoStyle você pode estilizar a mensagem com atributos do CSS – Cascading Style Sheets. Dessa forma, pode alterar a cor, colocar um background, padding, enfim, aqui a sua criatividade é o limite.
EM POUCAS PALAVRAS
Neste tutorial implementamos o método mostrarMsg() que exibe uma mensagem de feedback para o usuário, de acordo com a interação dele com a aplicação. O mesmo princípio pode ser aplicado agora para, por exemplo, remover um registro.
No método remove() chame o mostrarMsg() e passe como argumento a mensagem que deseja que seja exibida quando o usuário excluir um registro qualquer.
mostrarMsg(“Removido com sucesso”).
Eu fico por aqui e nos vemos no próximo tutorial.