Olá pessoal, preciso de ajuda pois já estou ficando quase louco com isso.
tenho a seguinte classe:
package br.com.adelino.daos;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import br.com.adelino.bd.ConnectionFactory;
import br.com.adelino.beans.DadosPessoais;
public class DadosPessoaisDAO {
private Connection con;
public DadosPessoaisDAO()throws SQLException
{
this.con = ConnectionFactory.getConnection();
}
public int adiciona(DadosPessoais pessoais)throws SQLException
{
try
{
PreparedStatement stmt = this.con.prepareStatement("insert into pessoa(nome,sexo,cpf) values(?, ?, ?)");
stmt.setString(1, pessoais.getNome());
stmt.setString(2, pessoais.getSexo()+"");
stmt.setString(3, pessoais.getCPF());
stmt.execute();
ResultSet rs = stmt.getGeneratedKeys();
rs.next();
int retorno = rs.getInt(1);
rs.close();
stmt.close();
con.close();
return retorno;
}catch(SQLException e)
{
throw e;
}
}
public void remove(DadosPessoais pessoais)throws SQLException
{
try
{
PreparedStatement stmt = this.con.prepareStatement("delete from contato where id_pessoa =" + pessoais.getId());
stmt.execute();
stmt = this.con.prepareStatement("delete from pessoa where id =" + pessoais.getId());
stmt.execute();
stmt.close();
con.close();
}catch(SQLException e)
{
throw e;
}
}
public void altera(DadosPessoais pessoais)throws SQLException
{
try
{
PreparedStatement stmt = this.con.prepareStatement ("update pessoa set nome=?, sexo=?, cpf=? where id=?");
stmt.setString(1, pessoais.getNome());
stmt.setString(2, pessoais.getSexo()+"");
stmt.setString(3, pessoais.getCPF());
stmt.setInt(4, pessoais.getId());
stmt.execute();
stmt.close();
con.close();
}catch(SQLException e)
{
throw e;
}
}
public ArrayList<DadosPessoais> getLista()throws SQLException
{
try
{
PreparedStatement stmt = this.con.prepareStatement ("select * from pessoa");
ResultSet rs = stmt.executeQuery();
ArrayList<DadosPessoais> lista = new ArrayList<DadosPessoais>();
while (rs.next())
{
DadosPessoais pessoa = new DadosPessoais();
pessoa.setId (rs.getInt ("id"));
pessoa.setNome (rs.getString("nome"));
pessoa.setSexo(rs.getString("sexo").charAt(0));
pessoa.setCPF(rs.getString("cpf"));
lista.add (pessoa);
}
rs.close();
stmt.close();
return lista;
}catch(SQLException e)
{
throw e;
}
}
}
e o seguinte JSP:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.ArrayList"%>
<html>
<body>
<jsp:useBean id="clientes" scope="application" class="br.com.adelino.daos.DadosPessoaisDAO" />
<ul>
<c:forEach var="cli" items="${clientes.lista}" varStatus="s" >
<li>
${cli.nome}
</li>
</c:forEach>
</ul>
</body>
</html>
A única coisa que é impressa na página é: ${cli.nome}
No debug, o DAO abre a conexao com o banco (MySQL), mas aparentemente não esta passando pelo metodo getLista. Alguém poderia me dar uma luz?
Agradeço desde já.