Boa tarde pessoal.
Estou com a seguinte situação: Estou desenvolvendo uma tela de login e no botão de login estou chamado uma função para validar os dados do usuário no BD. No entanto, se eu utilizo o método “action”, após validar o usuário ele é redirecionado para a página home, mas não exibi a mensagem de boas vindas e se uso o método “actionListener” é exibida a mensagem e não redireciona para a pagina home. Gostaria de saber como vocês resolvem essa situação.
Segue abaixo o código da chamada da função e a função utilizada para validar o login.
Botão de Login
<p:commandButton styleClass="btn btn-primary" tabindex="3" id="entrar" value="Entrar" icon="check" action="#{loginBean.validaLogin}" onclick="javascript:envia()" type="submit" update=":growl" title="Clique Para Entrar" />
Função de validação de usuário
public String validaLogin() {
RequestContext context = RequestContext.getCurrentInstance();
FacesMessage msg = null;
retornoValidacao = loginService.validarLogin(getEmail(),getSenha());
String retornoUsuario;
if(retornoValidacao == null){
retornoUsuario = "failure";
usuario = new Usuario();
msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "Erro", "Login / Senha inválida");
}else{
retornoUsuario = "success";
getmySession();
setUsuarioLogado(retornoValidacao.getNome());
System.out.println("Nome :"+getUsuarioLogado());
msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Seja Bem Vindo", retornoValidacao.getNome());
}
FacesContext.getCurrentInstance().addMessage(null, msg);
System.out.println("retornoUsuario :"+retornoUsuario);
return retornoUsuario;
}
Muito obrigado galera.
Abs.,