Salve galera.
Eu tenho um managed ben definido com o escopo de request(faces-config.xml).
Este bean tem um atributo do tipo ArrayList e este contém alguns objetos. Este list eh usado para listar os objetos de determinada caracteristica(vindos de um SELECT)
Quando eu inicio o TOMCAT e vou executar a aplicação, meu arquivo index.jsp me redireciona pra uma outra pagina e este “executa” meu maneged bean e lista os objetos direitinho.
Quando eu mudo o escopo para session(faces-config.xml) eu nem consigo iniciar minha aplicação e ela vai direto pra pagina de erro.
Alguem tem alguma sugestao?
Abaixo seguem os codigos:
Bean que contem a listagem de objetos:
public class ListaDependentes implements Serializable {
ArrayList dependentes;
public ListaDependentes()
{
}
/*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*/
public ArrayList getDependentes(){
HttpSession sessao = null;
ArrayList depsaux = new ArrayList();
sessao = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
depsaux = (ArrayList) sessao.getAttribute("listaDependentes");
if (depsaux == null)
{
try
{
Dependentes dps = new Dependentes();
depsaux = dps.listaDependentes();
System.out.println("Gerou Listagem de Dependentes!!!");
}
catch(Exception ex)
{
System.out.println("Erro ao carregar a lista de dependentes. " + ex);
}
}
this.dependentes = depsaux;
sessao.setAttribute("listaDependentes",this.dependentes);
return this.dependentes;
}
/*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*/
public void setdependentes(ArrayList dps)
{
this.dependentes = dps;
}
Meu faces-config.xml
<managed-bean>
<description>
ListaDependente Bean
</description>
<managed-bean-name>listaDependentes</managed-bean-name>
<managed-bean-class>jsf.beans.ListaDependentes</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
E o trecho de codigo JSP em que eu tento acessar o bean
<body>
<f:view>
<h:form id="listaDependentes">
<h:dataTable id="listaDependentes"
value="#{listaDependentes.dependentes}"
var="dependente"
border="1">
<h:column>
<f:facet name="header">
<h:outputText value="Codigo"/>
</f:facet>
<h:outputText value="#{dependente.COD}" />
</h:column>
Obrigado