JSF: Problemas com escope de um maneged bean

0 respostas
T

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

Criado 11 de abril de 2006
Respostas 0
Participantes 1