Criei uma controller baseada em outra que tenho e esta funcional. E quando tento listar os dados na minha view esta exibindo esse erro, alguém sabe me dizer o que é? minha controller:
@Named
@SessionScoped
public class FechamentoController implements Serializable {
private static final long serialVersionUID = 1L;
private List<Fechamento> fechamentos;
private Fechamento fechamento;
@PostConstruct
private void init() throws Exception {
fechamentos = new ArrayList<Fechamento>();
fechamentos = listar();
}
// ACTIONS
public List<Fechamento> listar() throws SQLException {
Connection conn = new ConnectionFactory().getConnection();
IFechamento<Fechamento> dao = new FechamentoDao(conn);
try {
fechamentos = dao.list();
System.out.println(fechamentos);
System.out.println("Listando....");
} catch (Exception e) {
e.printStackTrace();
}
conn.close();
return fechamentos;
}
// getters and setters
public List<Fechamento> getFechamentos() {
return fechamentos;
}
public void setFechamentos(List<Fechamento> fechamentos) {
this.fechamentos = fechamentos;
}
public Fechamento getFechamento() {
return fechamento;
}
public void setFechamento(Fechamento fechamento) {
this.fechamento = fechamento;
}
}
minha view :
<?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:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</head>
<body>
<h:form>
<table>
<tr>
<td>Id</td>
<td>Dia</td>
<td>Mes</td>
<td>Ano</td>
<td>Hora</td>
<td>Minuto</td>
<td>Timestamp</td>
</tr>
<ui:repeat var="item" value=" {fechamentoController.fechamentos}">
<tr>
<td>#{item.id}</td>
<td>#{item.dia}</td>
<td>#{item.mes}</td>
<td>#{item.ano}</td>
<td>#{item.hora}</td>
<td>#{item.minuto}</td>
<td>#{item.timestamp}</td>
<td><h:commandButton
action="#{fechamentoController.editar(item)}" value="Editar" /></td>
<td><h:commandButton
action="#{fechamentoController.excluir(item)}" value="Excluir" /></td>
</tr>
</ui:repeat>
<h:commandButton action="#{fechamentoController.adicionar()}"
value="adicionar" />
</table>
</h:form>
</body>
</html>
e a dao:
public class FechamentoDao implements IFechamento<Fechamento> {
private final String SQL_SELECT_ALL = "select *from fechamentos";
public Connection conn;
public FechamentoDao(Connection conn) {
this.conn = conn;
}
@Override
public List<Fechamento> list() throws Exception {
PreparedStatement preparedStatement = conn.prepareStatement(SQL_SELECT_ALL);
ResultSet rs = preparedStatement.executeQuery();
List<Fechamento> fechamentoList = new ArrayList<>();
while (rs.next()) {
Fechamento fechamento = new Fechamento();
fechamento.setId(rs.getInt("id"));
fechamento.setDia(rs.getInt("dia"));
fechamento.setMes(rs.getInt("mes"));
fechamento.setAno(rs.getInt("ano"));
fechamento.setHora(rs.getInt("hora"));
fechamento.setMinuto(rs.getInt("minuto"));
fechamento.setTimestamp(rs.getInt("timestamp"));
fechamentoList.add(fechamento);
}
rs.close();
preparedStatement.close();
return fechamentoList;
}
}
model:
public class Fechamento {
private int id;
private int dia;
private int mes;
private int ano;
private int hora;
private int minuto;
private int timestamp;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getDia() {
return dia;
}
public void setDia(int dia) {
this.dia = dia;
}
public int getMes() {
return mes;
}
public void setMes(int mes) {
this.mes = mes;
}
public int getAno() {
return ano;
}
public void setAno(int ano) {
this.ano = ano;
}
public int getHora() {
return hora;
}
public void setHora(int hora) {
this.hora = hora;
}
public int getMinuto() {
return minuto;
}
public void setMinuto(int minuto) {
this.minuto = minuto;
}
public int getTimestamp() {
return timestamp;
}
public void setTimestamp(int timestamp) {
this.timestamp = timestamp;
}
@Override
public String toString() {
return "Fechamento [id=" + id + ", dia=" + dia + ", mes=" + mes + ", ano=" + ano + ", hora=" + hora
+ ", minuto=" + minuto + ", timestamp=" + timestamp + "]";
}
}