Opa
Tenho uma tela de login que busca o login e seta os dados da empresa e depois redireciona pra tela de empresa, só q como eu seto os dados no bean ( javabean ) no login ( managed bean ), na hora q eu chego na empresa ( managed bean ), meu empresaBean ta nulo…alguém sabe como q eu resolvo isso?
faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
<managed-bean>
<managed-bean-name>empresa</managed-bean-name>
<managed-bean-class>br.com.portaldascargas.jsf.bean.empresa.Empresa</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>login</managed-bean-name>
<managed-bean-class>br.com.portaldascargas.jsf.bean.login.Login</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/paginas/login/login.jsp</from-view-id>
<navigation-case>
<from-outcome>logado</from-outcome>
<to-view-id>/paginas/empresa/main.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
Login.java ( managed bean )
public class Login {
private EmpresaBean empresaBean;
public Login(){
empresaBean = new EmpresaBean();
}
public EmpresaBean getEmpresaBean() {
return empresaBean;
}
public String logar(){
LoginDAO dao = new LoginDAO(br.com.portaldascargas.bean.login.LoginBean.class);
dao.findByLogin(getEmpresaBean().getLogin());
return "logado";
}
}
e o Empresa.java ( managedBean )
public class Empresa {
private EmpresaBean empresaBean;
public EmpresaBean getEmpresaBean(){
return empresaBean;
}
}
Notem que eu tenho o Empresa.java que é o bean do jsf e meu EmpresaBean que só tem os atributos, gets e sets…
Tem como eu passar o empresaBean do Login.java para o Empresa.java?
Se eu fizer:
public Empresa(){
Map<String, Object> mapa = FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
login = (Login)mapa.get("login");
}
Eu consigo pegar o Bean…existe outra maneira de fazer isso? To achando meio porco hehe
[]'s