Construi umas classes para acessar um bd mysql, em um projeto console funciona perfeitamente, exibe os dados e tudo mais. Ao colocar essas classes em um projeto web estou tentando exibir os dados do banco de dados e está retornando erro, e o erro não é no useBean, e sim no forEach, alguém poderia me ajudar?
minha classe que retorna os dados:
package br.com.caelum.pjWeb;
import java.sql.Connection;
import java.sql.SQLException;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.ResultSet;
public class ContatoDAO {
private Connection connection;
public ContatoDAO() throws SQLException
{
this.connection = ConnectionFactory.getConnection();
}
[b]//esse método deveria retornar os dados[/b]
public java.util.List<Contato> getListaNome() throws SQLException
{
String strContatos = "SELECT * FROM CONTATOS";
PreparedStatement stmt = (PreparedStatement) this.connection.prepareStatement(strContatos);
ResultSet rs = (ResultSet) stmt.executeQuery();
java.util.List<Contato> list = new java.util.ArrayList<Contato>();
while ( rs.next() )
{
Contato contato = new Contato();
contato.setNome(rs.getString("nome"));
contato.setEndereco((rs.getString("endereco")));
contato.setEmail(rs.getString("email"));
list.add(contato);
}
return list;
}
}
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<html>
<body>
<jsp:useBean id="dao" class="br.com.caelum.pjWeb.ContatoDAO" />
ola
<c:forEach var="contato" items="${dao.listaNome}">
<li>${contato.nome}</li>
</c:forEach>
</body>
</html>