DataTable Vazio

2 respostas
tiago.frioli

Bom dia pessoal, alguem sabe me dizer o que esta acontecendo que meu datatable está vazio.Ele renderiza as linhas que contem as informações mas não faz o output delas.

Segue oos codigos:

XHTML

<p:dataTable var="instituicao" value="#{parceiraMB.listaParceira}">  
                                    <p:column headerText="Razao Social">  
                                        <h:outputText value="#{parceira.nome}" />  
                                    </p:column>  

                                    <p:column headerText="Endereço">  
                                        <h:outputText value="#{parceira.endereco}" />  
                                    </p:column>  

                                    <p:column headerText="Cidade">  
                                        <h:outputText value="#{parceira.cidade}" />  
                                    </p:column>  
                                   
                          </p:dataTable>

ManagedBean

public class ParceiraMB {

    private Parceira parceira = new Parceira();
    private List<Parceira> listaParceira;

    public List<Parceira> getListaParceira() {
        listaParceira = DAOParceira.list();
        return listaParceira;
    }
    
    public Parceira getParceira() {
        return parceira;
    }
    
    public void setParceira(Parceira parceira) {
        this.parceira = parceira;
    }

DAO

public class DAOParceira {

    private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("SisAP1.0PU");

    public static boolean create(Parceira parceira) {
        EntityManager em = null;
        try {
            em = emf.createEntityManager();
            em.getTransaction().begin();
            em.persist(parceira); //Executa a query
            em.getTransaction().commit(); //Persiste os dados definitivamente
            return true;
        } catch (Exception ex) {
            System.err.println("Erro: " + ex.getMessage());
            ex.printStackTrace();
        } finally {
            em.close();
        }
        return false;
    }

    public static Parceira retrieve(Object id) {
        EntityManager em = null;
        try {
            em = emf.createEntityManager();
            Parceira parceira = em.find(Parceira.class, id); //Busca o JavaBean
            return parceira;
        } catch (Exception ex) {
            System.err.println("Erro: " + ex.getMessage());
            ex.printStackTrace();
        } finally {
            em.close();
        }
        return null;
    }

    public static boolean update(Parceira parceira) {
        EntityManager em = null;
        try {
            em = emf.createEntityManager();
            em.getTransaction().begin();
            em.merge(parceira); //Executa a query
            em.getTransaction().commit(); //Atualiza o banco de fato
            return true;
        } catch (Exception ex) {
            System.err.println("Erro: " + ex.getMessage());
            ex.printStackTrace();
        } finally {
            em.close();
        }
        return false;
    }

    public static boolean delete(Parceira parceira) {
        EntityManager em = null;
        try {
            em = emf.createEntityManager();
            em.getTransaction().begin();
            Object obj = em.merge(parceira);
            em.remove(obj); //Executa a query
            em.getTransaction().commit(); //Atualiza o banco de fato
            return true;
        } catch (Exception ex) {
            System.err.println("Erro: " + ex.getMessage());
            ex.printStackTrace();
        } finally {
            em.close();
        }
        return false;
    }

    public static List<Parceira> list() {
        EntityManager em = null;
        List<Parceira> lista = null;
        try {
            em = emf.createEntityManager();
            lista = em.createQuery("SELECT r FROM Parceira r ").getResultList();
        } catch (Exception ex) {
            System.err.println("Erro: " + ex.getMessage());
            ex.printStackTrace();
        } finally {
            em.close();
        }
        return lista;
    }
}

Abraços.

2 Respostas

K
<p:dataTable var="instituicao" value="#{parceiraMB.listaParceira}">    
                                    <p:column headerText="Razao Social">    
                                        <h:outputText value="#{parceira.nome}" />    
                                    </p:column>
</dataTable>

repara que você não utilizou o var criado com instituicao.
assim:

<p:column headerText="Razao 
        <h:outputText value="#{instituicao.nome}" />    
    </p:column>
tiago.frioli

kleberdamasco:
<p:dataTable var="instituicao" value="#{parceiraMB.listaParceira}"> <p:column headerText="Razao Social"> <h:outputText value="#{parceira.nome}" /> </p:column> </dataTable>

repara que você não utilizou o var criado com instituicao.
assim:

<p:column headerText="Razao <h:outputText value="#{instituicao.nome}" /> </p:column>

Ola Kleber,

Cara que mancada realmente nem tinha percebido esse detalhe.

Eu tava achando que tinha errado algo no codigo e não me atentei a esse pequeno detalhe.

Obrigado cara.

Abraços.

Criado 25 de junho de 2013
Ultima resposta 25 de jun. de 2013
Respostas 2
Participantes 2