Problema em trazer uma lista usando persistência

1 resposta
J

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)

1 Resposta

Hebert_Coelho

Parece que está faltando bibliotecas: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.sql.Result

Criado 31 de maio de 2012
Ultima resposta 31 de mai. de 2012
Respostas 1
Participantes 2