Estou no Exercício 9.11 Já consigo persistir e Remover, só que ainda não estou sabendo é atualizar. Segue meu Codigo.
lista de Contatos que mostra minha tabela onde posso atualizar
`
<c:import url="../template/cabecalho.jsp" />
<table border="1">
<thead>
<tr>
<td>ID</td>
<td>Nome</td>
<td>Email</td>
<td>Endereco</td>
<td>Data de Nascimento</td>
</tr>
</thead>
<tbody>
<c:forEach var="contatoindividual" items="${contatos}" varStatus="contador">
<tr bgcolor="#${contador.count % 2 == 0 ? 'aaee88' : 'ffffff' }">
<td>${contatoindividual.id}</td>
<td>${contatoindividual.nome}</td>
<td>
<!-- Switch Case -->
<c:choose>
<c:when test="${not empty contatoindividual.email }">
<a href="mailto:${contatoindividual.email}">${contatoindividual.email}</a>
</c:when>
<c:otherwise> <!-- Default -->
E-mail não foi informado!
</c:otherwise>
</c:choose>
</td>
<td>${contatoindividual.endereco}</td>
<td>
<fmt:formatDate value="${contatoindividual.dataDeNascimento.time}" pattern="dd/MM/yyyy" />
<td>
<a href="mvc?logica=SalvaContatoLogic&id=${contatoindividual.id}">Alterar</a>
</td>
<td>
- <a href="mvc?logica=RemoveContatoLogic&id=${contatoindividual.id}">Remover</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<br />
<a href="adicionaContato.jsp">Adicionar</a>
<c:import url="../template/rodape.jsp" />
Minha Rega de Negocio que atualiza se existir ou salva se for novo
public class SalvaContatoLogic implements Logica {
@Override
public String executa(HttpServletRequest request, HttpServletResponse response) throws Exception {
Contato contatoAlterado = new Contato();
Connection conn = (Connection) request.getAttribute("connection");
ContatoDAO dao = new ContatoDAO(conn);
if (request.getParameter("id") != "") {
contatoAlterado.setId(Long.parseLong(request.getParameter("id")));
}
contatoAlterado.setNome(request.getParameter("nome"));
contatoAlterado.setEmail(request.getParameter("email"));
contatoAlterado.setEndereco(request.getParameter("endereco"));
Calendar dataNascimento = Calendar.getInstance();
Date data = new SimpleDateFormat("dd/MM/yyyy").parse(request.getParameter("dataDeNascimento"));
dataNascimento.setTime(data);
contatoAlterado.setDataDeNascimento(dataNascimento);
if (request.getParameter("id") == "") {
dao.adicionarContato(contatoAlterado);
} else {
dao.atualizaContato(contatoAlterado);
}
return "mvc?logica=ListaContatosLogic";
}
}
Quero encaminhar os dados para essa View para atualizar.
`<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:import url="/WEB-INF/jsp/template/cabecalho.jsp" />
<form action="/fj21-agenda/mvc">
<input type="hidden" name="logica" value="SalvaContatoLogic"/>
<input type="hidden" name="id" value="${contato.id }"/>
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/>
<fmt:formatDate value="${contato.dataDeNascimento.time }" pattern="dd/MM/yyyy" var="dataDeNascimento"/>
Data de Nascimento:<input type="text" name="dataNascimento" value="${dataDeNascimento}"/> <br/>
<input type="submit" value="Salvar"/>
</form>
<c:import url="/WEB-INF/jsp/template/rodape.jsp" />
</body>
</html>`
Como posso fazer isso?