Olá Samir, boa noite!
Então cara, meu método tá implementado dessa maneira:
public String efetuaLogin() {
System.out.println("Consultando usuario...");
FacesContext context = FacesContext.getCurrentInstance();
Boolean existe = new UsuarioDAO().checkUsuario(usuario);
if(existe) {
context.getExternalContext().getSessionMap().put("usuarioLogado", this.usuario);
return "livro?javax-redirect=true";
}
System.out.println("Flash Context");
FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true);
System.out.println("Mensagem usuario nao existe");
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Usuário e/ou senha inválidos!", ""));
return "login?javax-redirect=true";
}
E meu XML tá implementado assim:
<p:commandButton value="Efetuar Login"
action="livro?faces-redirect=true"
actionListener="#{usuarioBean.efetuaLogin}" update="@form"
process="@form" />
Fiz meus testes no Chrome.
Eu, realmente, não entendi como o meu sistema se comporta dessa maneira.
Muito obrigado pela sua resposta!
Abraços!