Problema com implementação do displaytag

Pessoal,

Ja fui no google e inclusive acabei caindo em vários tópicos aqui mesmo no GUJ referentes a problemas de implementação do displaytag.

Meu código é o seguinte:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://displaytag.sf.net" prefix="display"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Consulta</title>
</head>
<body>

	<c:import url="cabecalho.jsp" />

	<%-- cria o DAO --%>

	<jsp:useBean id="dao" class="br.com.caelum.jdbc.dao.ConsultaContatoDAO" />

	<%
		request.setAttribute("teste", dao.getLista());
	%>

	<display:table name="teste" sort="list" pagesize="2" id="table1" export="true" />

	<c:import url="rodape.jsp" />

</body>

</html>

package br.com.caelum.jdbc.dao;

import br.com.caelum.jdbc.ConnectionFactory;
import br.com.caelum.modelo.Contato;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

public class ConsultaContatoDAO {

	// a conexão com o banco de dados
	private Connection connection;
	private List<Contato> listaContato = new ArrayList<Contato>();

	public ConsultaContatoDAO() {

		this.connection = new ConnectionFactory().getConnection();
		System.out.println("Conexão aberta!");

	}

	public List<Contato> getLista(){

		String sql = ("select * from contatos");

		try {

			// cria um preparedStatement
			PreparedStatement stmt = this.connection.prepareStatement(sql);

			// executa um select
			ResultSet retorno = stmt.executeQuery();

			// inteno no ResultSet

			while (retorno.next()) {
                
				Contato contato = new Contato();
				
				contato.setId(retorno.getLong("id"));
				contato.setNome(retorno.getString("nome"));
				contato.setEmail(retorno.getString("email"));
				contato.setEndereco(retorno.getString("endereco"));
				
				Calendar data = Calendar.getInstance();
				data.setTime(retorno.getDate("dataNascimento"));
				
				contato.setDataNascimento(data);
				
				this.listaContato.add(contato);
				
			       }

			// fecha ResultSet
			retorno.close();

			// fecha PreparedStatement
			stmt.close();

			// fecha conexao
			this.connection.close();
              
			System.out.println("\nPesquisa efetuada com sucesso!");
            
			return this.listaContato;
			
		} catch (SQLException e) {

			throw new ExceptionDAO("Não foi possivel efetuar a consulta no banco de dados!!!", e);

		}
	}
	
	public Contato index(int i){
		
		return listaContato.get(i);
		
	}
	
}

Segue tambem print em anexo quando tento rodar o lista-contatos-elegante.jsp, lembrando que todos os outros JSP rodam tranquilamente.


Simplismente não funciona, alguem tam alguma idéia?

tenho utilizado da seguinte forma

<display:table id=“table” (nome da tabela que o framework gerencia) name=“listacontato” (nome da lista, no seu caso listacontato) size=“listaTamanhoTotal” (contagem dos registro gera o tamanho) sort=“external” (a lista tem contagem de registro, por isto extenal) pagesize=“20” (tamanho da pagina) partialList=“true” (devido a nao ter tamanho fixo) class=“table”>

obs: utilizo um framework que faz o controle, inclusive do displaytage

achei este site talvez possa lhe ajudar

Cara na tua jsp você ta setando a lista na requisição e não recuperando-a

 <%  
        request.setAttribute("teste", dao.getLista());  
    %>

Como você ta fazendo isso tua lista ta null o que dará erro 500.

[code] <c:import url=“cabecalho.jsp” />

<%-- cria o DAO --%>  

<jsp:useBean id="dao" class="br.com.caelum.jdbc.dao.ConsultaContatoDAO" />  

<%  
List<Contato> lista = dao.getLista();
request.setAttribute("teste", lista);  
%>  

<display:table name="teste" sort="list" pagesize="20" id="table" export="true" />  

<c:import url="rodape.jsp" />

[/code]

Continua dando ERRO 500

alguem?

Cara tenta colocar o atributo correto na propriedade name da display table


<display:table name="lista" sort="list" pagesize="20" id="table" export="true" />  

[quote=dertyu765][code] <c:import url=“cabecalho.jsp” />

<%-- cria o DAO --%>  

<jsp:useBean id="dao" class="br.com.caelum.jdbc.dao.ConsultaContatoDAO" />  

<%  
List<Contato> lista = dao.getLista();
request.setAttribute("teste", lista);  
%>  

<display:table name="teste" sort="list" pagesize="20" id="table" export="true" />  

<c:import url="rodape.jsp" />

[/code]

Continua dando ERRO 500
[/quote]