Pessoal seguinte.
Estou seguindo a apostila FJ21 da Caelum e estou em um ponto que não consigo sair, já tentei analisar o erro mas travei.
Tem um exemplo que agente criar uma lista-elegante.jsp usando EL com o seguinte código.
lista-elegante.jsp
<table border="1">
<tr>
<td>Nome</td>
<td>Email</td>
<td>Endereço</td>
</tr>
<c:forEach var="contato" items="${dao.lista}" varStatus="id">
<tr bgcolor="#${id.count % 2 == 0 ? 'aaee88' : 'ffffff' }">
<td>${contato.nome}</td>
<td>${contato.email}</td>
<td>${contato.endereco}</td>
<td>${contato.datacadastro.time}</td>
</tr>
</c:forEach>
</table>
--- Meu DAO ---
public List<Contato> getLista() {
String sql = "select * from contatos";
try {
List<Contato> contatos = new ArrayList<>();
this.connection = new Conexao().getConnection();
PreparedStatement ps = connection.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
// Criandao o Objeto
Contato contato = new Contato();
contato.setId(rs.getLong("id"));
contato.setNome(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setEndereco(rs.getString("endereco"));
Calendar data = Calendar.getInstance();
data.setTime(rs.getDate("datacadastro"));
contato.setDataCadastro(data);
contatos.add(contato);
}
rs.close();
ps.close();
return contatos;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
public Calendar getDataCadastro() {
return dataCadastro;
}
public void setDataCadastro(Calendar dataCadastro) {
this.dataCadastro = dataCadastro;
}
Erro:
javax.el.PropertyNotFoundException: Property 'datacadastro' not found on type br.com.fj21.beans.Contato
já pesquisei em outros tópicos e li que quando agente tem o prefixo get ele já deveria 'entender' assim como para os outros campos nome, email e endereço. Se eu tirar essa parte do código da datacadastro roda bacana.
Alguma ajuda?