Criei um metodo no DAO para fazer a persistência na tabela presenca, e um Bean que faz uma verificação e validação trazendo a lista.
Contudo ao chamar o xhtml para popular a minha tabela, da um erro! Que não consegui corrigir.
Esse é o DAO.
public List<Object[]> BuscarTodos() {
EntityManager em = new JPAUtil().getEntityManager();
Query query = em.createNativeQuery("SELECT * FROM presenca p");
List<Object[]> lista = query.getResultList();
em.close();
return lista;
}
Esse é o;
@SessionScoped
@ManagedBean
public class PresencaBean {
private Presenca presenca = new Presenca();
private List<Object[]> lista;
private List<Presenca> periodos;
private List<Presenca> ufs;
public List<Object[]> getLista() {
if (lista == null) {
System.out.println("Carregando as presenças...");
lista = new PresencaDAO<Presenca>(Presenca.class).BuscarTodos();
}
return lista;
}
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="/_template.xhtml">
<ui:define name="corpo">
<h:form>
<p:toolbar>
<p:toolbarGroup align="left">
<p:selectOneMenu effect="fold" var="p" value="#{presencaBean.ufs}">
<f:selectItems value="#{presencaBean.ufs}" />
</p:selectOneMenu>
<samp></samp>
<p:selectOneMenu value="#{presencaBean.periodos}" effect="fold">
<f:selectItems value="#{presencaBean.periodos}" />
</p:selectOneMenu>
<samp></samp>
<p:selectOneMenu label="Periodo" effect="fold">
<f:selectItems itemLabel="Periodo" />
</p:selectOneMenu>
</p:toolbarGroup>
</p:toolbar>
</h:form>
<h:form>
<h3 align="center">Presenca dos Bancos nos Municípios</h3>
<p:dataTable id="basic" var="listas"
value="{presencaBean.lista}" rows="5">
<p:column headerText="Instituição">
#{listas[2]}
</p:column>
<p:column headerText="Assisitidas">
#{listas[3]}
</p:column>
<p:column headerText="Desassistidas">
#{listas[4]}
</p:column>
</p:dataTable>
</h:form>
</ui:define>
</ui:composition>
</html>
Esse é o erro!
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Hibernate:
/* dynamic native SQL query */ SELECT
DISTINCT presenca.UF
FROM
presenca
WHERE
presenca.UF <> 'BR'
AND presenca.UF <> 'CO'
AND presenca.UF <> 'N'
AND presenca.UF <> 'NE'
AND presenca.UF <> 'S'
AND presenca.UF <> ' SD'
AC
Carregando as periodos...
Hibernate:
/* dynamic native SQL query */ SELECT
periodo
FROM
presenca
GROUP BY
periodo
ORDER BY
periodo desc
201204
Mai 31, 2012 3:27:25 PM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Servlet.service() for servlet [Faces Servlet] in context with path [/canais] threw exception [javax/servlet/jsp/jstl/sql/Result] with root cause
java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.sql.Result
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
at javax.faces.component.UIData.getDataModel(UIData.java:1308)
at javax.faces.component.UIData.getRowCount(UIData.java:342)
at org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:602)
at org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:248)