Ir para conteúdo
Fórum Script Brasil
  • 0

Não consigo carregar lista no minha página jsf


pjava

Pergunta

Pessoal, estou tentando carregar na minha página uma lista de escola. Acontece que não lista nada. Abaixo meus arquivos e classes.

Meu ManagedBean(MB)

@ManagedBean(name="MostraEsc")
@SessionScoped

public class MostraEscolaAtiva implements Serializable{
    
    private static final int List = 0;
    private static final int Escola = 0;
    private DataModel listaEscola;
    private List<Escola> escolas;
    private String nme;

    public String getNme() {
        nme = new EscolaDaoImp().renome();
        return nme;
    }
    public void setNme(String nme) {
        this.nme = nme;
    }
    public void handleToggle(ToggleEvent event) {  
        FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Fieldset Toggled", "Visibility:" + event.getVisibility());    
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }          
    public void setListaEscola(DataModel listaEscola) {
        this.listaEscola = listaEscola;
    }

    public DataModel getListaEscola(){
        List<Escola> lista = new EscolaDaoImp().list();
        listaEscola = new ListDataModel(lista);
        return listaEscola;
    }
    public List<Escola> getEscolas() {
        if(escolas.size()==0){    
            escolas = new EscolaDaoImp().findAll();  
           }   
       return escolas;
    }
    public void setEscolas(List<Escola> escolas) {
        this.escolas = escolas;
    }
}
Meu DaoImp
public class EscolaDaoImp extends AbstractDAO<Escola> implements EscolaDAO{

    private EntityManager em;    
    @Override
    public Class<Escola> getEntityType() {
        return Escola.class;
    }
    public List<Escola> list() {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        List lista = session.createQuery("from Escola").list();
        t.commit();
        return lista;
    }    
    public EntityManager getEm() {
        return em;
    }
    public void setEm(EntityManager em) {
        this.em = em;
    }    
    protected EntityManager getEntityManager()  
    {  
        if (this.em == null)  
            throw new IllegalStateException("Erro");  
        return this.em;  
    }        
   @PersistenceContext  
   public void setEntityManager(EntityManager em) {  
       this.em = em;  
   }       
    public List<Escola> findAll() {    
              Query query =  getEntityManager().createQuery("select distinct e.nome " +     
                                                            "from " +    
                                                            "pessoa p inner join professor f on (p.idpessoa = f.idpessoa) " +    
                                                            "inner join matricula m on (m.idprofessor = f.idprofessor) " +    
                                                            "inner join escola e on (e.idescola = m.idescola)" +    
                                                            "where m.situacao = 'A'");    
              return (List<Escola>) query.getResultList();    
    }    
    public String renome(){
        return "Teste";
    }
}
Meu XHTML(JSF), somente a parte que deve listar as escolas
<h:form>   
 <p:graphicImage value="/Images/ico.jpg" />                        
         <p:dataList value="#{MostraEsc.escolas}" var="escola" type="ordered"> 
                #{escola.nome}
        </p:dataList>                                    
</h:form>
Meu web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         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-app_2_5.xsd">
 <display-name>Prime</display-name> 
 <welcome-file-list>
 <welcome-file>index.jsf</welcome-file>
 <welcome-file>Hello.html</welcome-file>
 <welcome-file>SalaAula.jsf</welcome-file>
 </welcome-file-list> 
 <context-param>
 <param-name>javax.faces.PROJECT_STAGE</param-name>
 <param-value>Development</param-value>
 </context-param>
 <servlet>
 <servlet-name>Resource Servlet</servlet-name>
 <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>Resource Servlet</servlet-name>
 <url-pattern>/primefaces_resource/*</url-pattern>
 </servlet-mapping>
 <servlet>
 <servlet-name>Faces Servlet</servlet-name>
 <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
 <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
 <servlet-name>Faces Servlet</servlet-name>
 <url-pattern>*.jsf</url-pattern>
 </servlet-mapping>
 <session-config>
 <session-timeout>
 30
 </session-timeout>
 </session-config> 
</web-app>
Meu Persistence.xml
<?xml version="1.0" encoding="UTF-8"?>  
<persistence xmlns="http://java.sun.com/xml/ns/persistence"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence               
                       http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"  
    version="1.0">  
    <persistence-unit name="EscolaDaoImp"  
        transaction-type="RESOURCE_LOCAL">   
        <properties>  
            <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />  
            <property name="hibernate.connection.username" value="postgres" />  
            <property name="hibernate.connection.password" value="123" />  
            <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5435/Escola" />  
            <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />  
            <property name="hibernate.show_sql" value="true" />  
        </properties>  
    </persistence-unit>  
</persistence>

Não consigo carregar a lista

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...