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.