Kanin_Dragon 16 de mai. de 2011
Jovem,
Fugindo totalmente dos meus principios como professor, segue mais uma resposta pronta para uso, visto que a resposta para este questionamento pode ser encontrado facilmente num tal de Google:
enjoy, have fun:
ELContext eLContext = FacesContext.getCurrentInstance().getFacesContext().getELContext();
Object bean = eLContext.getELResolver().getValue(eLContext, null,"nomeDoBean");
Abs.
ayslanms 16 de mai. de 2011
Aqui vão 2 maneiras para fazer isso.
1 - Injeção de dependência
Bean de sessão:
import javax.faces.bean.ManagedBean ;
import javax.faces.bean.SessionScoped ;
@ManagedBean
@SessionScoped
public class SessaoBean {
private String atributo ;
public String getAtributo () {
return atributo ;
}
public void setAtributo ( String atributo ) {
this . atributo = atributo ;
}
}
Bean que vai chamar o bean de sessão:
import javax.faces.bean.ManagedBean ;
import javax.faces.bean.ManagedProperty ;
@ManagedBean
public class AlgumBean {
@ManagedProperty ( value = "# {sessaoBean} " )
private SessaoBean sessaoBean ;
public void fazerAlgumaCoisa (){
sessaoBean . getAtributo ();
}
public SessaoBean getSessaoBean () {
return sessaoBean ;
}
public void setSessaoBean ( SessaoBean sessaoBean ) {
this . sessaoBean = sessaoBean ;
}
}
lembrando de colocar os getters e setters.
2 - Pegar diretamente pelo FacesContext
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
HttpSession session = (HttpSession) externalContext.getSession(true);
SessaoBean sessaoBean= (SessaoBean )session.getAttribute("sessaoBean ");
lembrando que esse último você pode pegar também pelo “getSessionMap()” semelhante o que você fez.
.getSessionMap (). get ( "sessaoBean " )
Escolha o que for mais viável para seu caso.
gambazinho 26 de mai. de 2011
vlw ayslanms , decidi pegar da última forma só que do jeito certo né!
vlw!