Estou começando uma aplicaçao em JSF 2.0 onde faço meu login e senha, e gostaria de armazenar esse valor do meu login em uma variavel de uma classe, para que depois eu possa utiliza-la em outras telas
mas se eu fizer uma classe de variaveis eu nao consigo pegar esse valor nas outras telas xhtml e outras classes mesmo.
A única diferença seria na hora de buscar do banco de dados que poderia variar conforme o tipo de login que você fez.
J
josivanl
Mas nao consegui entender como que consegue passar o valor e deixar fixo pro resto do sistema
hoje tenho o meu index assim:
<h:form><p:messagesid="messages"showDetail="true"autoUpdate="true"/><h:panelGridcolumns="2"id="pn"><h:outputLabelid="llogin"value="Login:"/><p:inputTextid="ilogin"size="22"maxlength="21"value="#{telaLogin.login}"required="true"requiredMessage="Necessário preenchimento do campo Login"/><h:outputLabelid="lsenha"value="Senha:"/><p:passwordid="isenha"size="22"maxlength="21"value="#{telaLogin.senha}"required="true"feedback="false"requiredMessage="Necessário preenchimento do campo Senha"/></h:panelGrid><p:focusfor="ilogin"/><br></br><p:commandButtonvalue="Logar"action="#{telaLogin.bLogar}"update="pn"onclick="chamados"/></h:form>
e a minha classe assim:
@ManagedBean@RequestScopedpublicclassTelaLogin{privateStringlogin="";privateStringsenha="";privatestaticResultSetrs;privateIntegeriCount=0;privateStringidCodigo;publicStringgetLogin(){returnlogin;}publicvoidsetLogin(Stringlogin){this.login=login;}publicStringgetSenha(){returnsenha;}publicvoidsetSenha(Stringsenha){this.senha=senha;}publicStringgetIdCodigo(){returnidCodigo;}publicvoidsetIdCodigo(StringidCodigo){this.idCodigo=idCodigo;}publicStringbLogar(){try{ConnectionConecta=Conexao.Conecta();}catch(Exceptionex){FacesContext.getCurrentInstance().addMessage(null,newFacesMessage(FacesMessage.SEVERITY_FATAL,"Erro ao Conectar",ex.getMessage()));}try{rs=Conexao.Consulta("select cod_usuario as qtd from geral_usuarios where usuario = '"+getLogin().toString()+"' and senha = '"+getSenha().toString()+"'");while(rs.next()){iCount=rs.getInt("qtd");}if(iCount==0){FacesContext.getCurrentInstance().addMessage(null,newFacesMessage(FacesMessage.SEVERITY_ERROR,"Falha ao Logar","Usuário e/ou Senha incorretos. Verifique!"));}else{return"chamados";}}catch(SQLExceptionex){FacesContext.getCurrentInstance().addMessage(null,newFacesMessage(FacesMessage.SEVERITY_ERROR,"Erro ao Conectar",ex.getMessage()));}return"index";}
gostaria de conseguir passar o meu COD_USUARIO do meu select, para uma variavel e que fosse possivel usar ela em todo o sistema, uma vez logado
obrigado a todos!
H
Hebert_Coelho
Troca o TelaLogin para SessionScoped e salve dentro dele o que você quer que seja exibida em qualquer tela.