Possuo um TABLE e Já consigo deletar, agora quero recurar o objeto no TABLE só que não estou conseguindo. Segue meu codigo.
view
<table border="1">
<tr>
<th>Codigo</th>
<th>Nome</th>
<th>Endereco</th>
<th>email</th>
<th>Data</th>
<th>Remover</th>
<th>Alterar</th>
</tr>
<c:forEach var="contato" items="${contatos}" varStatus="id">
<tr bgcolor="${id.count % 2 == 0 ? 'aaeeff' : 'ffffff'}">
<td>${contato.id}</td>
<td>${contato.nome}</td>
<td>${contato.endereco}</td>
<td>
<c:choose>
<c:when test="${not empty contato.email}">
<a href="mailto:${contato.email}"> ${contato.email} </a>
</c:when>
<c:otherwise>
Email não informado
</c:otherwise>
</c:choose>
</td>
<td>
<fmt:formatDate value="${contato.dataNascimento.time}" pattern="dd/MM/yyyy" />
</td>
<td>
<a href="mvc?logica=RemoveContatoLogica&codigo=${contato.id}">Remover</a>
</td>
<td>
<a href="mvc?logica=SelecionaContatoLogica&id=${contato.id}">Alterar</a>
</td>
</tr>
</c:forEach>
</table>
Monta o Objeto Selecionado
<body>
<form action="mvc?logica=AdicionaContatoLogica">
Nome<input type="text" name="nome" value="${contato.nome}"><br/>
Email<input type="text" name="email" value="${contato.email}"><br/>
Endereco<input type="text" name="endereco" value="${contato.endereco}"><br/>
<input type="submit" value="Enviar">
</form>
DAO
public Contato buscaPeloID(Contato contato) {
String sql = "select * from contato where id = ?";
try (PreparedStatement stmt = this.connection.prepareStatement(sql)) {
stmt.setInt(1, contato.getId());
ResultSet resultSet = stmt.executeQuery();
while (resultSet.next()) {
return buscaContato(resultSet);
}
resultSet.close();
return null;
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
private Contato buscaContato(ResultSet rs) throws SQLException {
Contato contato = new Contato();
contato.setId(rs.getInt("id"));
contato.setNome(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setEndereco(rs.getString("endereco"));
Date data = rs.getDate("data_nascimento");
if (data!= null) {
Calendar dataNascimento = contato.getDataNascimento();
dataNascimento.setTime(data);
contato.setDataNascimento(dataNascimento);
}
return contato;
}
public class SelecionaContatoLogica implements Logica {
@Override
public String executa(HttpServletRequest request, HttpServletResponse response) throws Exception {
Integer codigo = Integer.parseInt(request.getParameter("id"));
Contato c = new Contato();
c.setId(codigo);
Contato buscaPeloID = new ContatoDAO().buscaPeloID(c);
request.setAttribute("contato", buscaPeloID); // Guarda o contato na requisição
return "WEB-INF/jsp/altera-contato.jsp";
}
}