Jsf

2 respostas
M

Estou fazendo uma lógica de Login usando JavaServer Faces. Ele acessa um back bean que verifica se o nome do usuário e a senha estão corretos e retorna dois status, login_ok e login_falhou.

Se login_ok, ele redireciona para outra tela. Mas se login_falhou, ele continua na tela de login, e deve exibir uma mensagem indicando que o login deu erro.

O problema é que eu não sei como manipular a mensagem de login_falhou no Jsf de forma a exibir esta mensagem. Alguma sugestão?

2 Respostas

Leozin

Boa dia caro msallem tudo bem?

Bom, o que você poderia fazer é fazer um label vazio nas posições que tu deseja que apareçam os erros. Quando o backing bean verificar que o usuário/senha está errado, ele adiciona os campos e pode retonar uma String vazia, já que no JSF quando você retorna uma String que é um resultado que não está mapeado no faces-config.xml (no navigation-case) ele simplesente não faz nada :smiley: ou seja, somente adicione as mensagens de erro nos labels e pronto. Resumindo:

Senha correta: retorna o navigation case adequado (ou seja, login_success pra ir pra tela XXX)
Senha errada: somente adicionar os campos para mostrar ao usuário que a senha esta errada e NÃO retorna um login_success)

Espero ter ajudado :slight_smile:

M

A sugestão é muito boa, e funciona.

Mas só um comentário acerca do mecionado, criei duas regras de navegação:

login_ok => vai para página welcome.faces
login_erro => vai para página login.faces (que é a página que originou a regra de navegação)

logo, não tem como o JSF identificar que ele recebeu a página a partir de um login_erro? Já que existe o direcionamento?

Criado 23 de outubro de 2006
Ultima resposta 23 de out. de 2006
Respostas 2
Participantes 2