Jsf/primefaces 2.2.1 - ao logar no sistema passar para proxima pagina o valor do email logado

4 respostas
b10machado

como faço para passar o email q se logou, o normal e fazer pela url? ou d outra forma tentei assim mais num consegui

<f:metadata>
                <f:viewParam name="email" value="#{UserBean.email}" />
            </f:metadata>

4 Respostas

orlandogpe

Vc pode usar seu ManagedBean com o escopo de Sessão.

ou fazer assim no botao :

<h:commandButton value="Login" action="#{managedBean.action}" >
                             <f:param name="email" value="#{managedBean.email}" />                                  
  </h:commandButton>
max.analista

Você pode criar uma sessão

HttpSession s = (HttpSession) facesContext.getCurrentInstance().getExternalContext().getSession(true);
s.setAttribute("email", variavel_que_armazenou_email);

E quando quiser recuperar:

s.getAttribute("email");

Você pode pegar o email atraves de uma variavel inputHidden

<h:inputHidden value="#{manageBeanLogin.email}" binding="#{manageBeanAtual.variavel_Qualquer}"/>

Não gosto desse último mas funciona! :)

X

b10machado

Vc pode posta o método de validação de login?

b10machado

opa claro mano

no select eu returno um booleano para saber se existe o usuario

public void validarLogin() throws IOException {
        UsuarioDaoPG u = new UsuarioDaoPG();
        if(u.select(emailLogar, senhaLogin)){
            FacesContext.getCurrentInstance().getExternalContext().redirect("a pagina para onde vc vai.xhtml");
        }
        else{
            FacesContext.getCurrentInstance().addMessage(null,
                     new FacesMessage(FacesMessage.SEVERITY_INFO,
                     "Erro ao tentar logar no sistema,verifique email e senha", null));
        }
    }
Criado 29 de março de 2012
Ultima resposta 31 de mar. de 2012
Respostas 4
Participantes 4