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.