Eu resolvi este problema da seguinte maneira:
Na página lista-contatos-elegante.jsp
adicionei um link na tabela:
<td><a href="mvc?logica=AlteraContatoLinkLogic&id=${contato.id}">Alterar</a></td>
Onde eu chamo uma Classe AlteraContatoLinkLogic que implementa aquela interface Logica anterior e é controlada
por uma Servlet ControllerServlet que foi ja foi implementada.
Esta classe AlteraContatoLinkLogic se parece com isto:
package mvc.logica;
import databaseconectivity.ContatoBean;
import databaseconectivity.ContatoDAO;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mvc.Logica;
public class AlteraContatoLinkLogic implements Logica{
public void executa(HttpServletRequest req, HttpServletResponse res) throws Exception {
Long id = Long.parseLong(req.getParameter("id"));
ContatoDAO contatoDao = new ContatoDAO();
ContatoBean contato = contatoDao.pesquisar(id);
req.setAttribute("nome", contato.getNome());
req.setAttribute("email", contato.getEmail());
req.setAttribute("endereco", contato.getEndereco());
req.setAttribute("nascimento", contato.getDataNascimento());
RequestDispatcher rd = req.getRequestDispatcher("testa-altera-mvc.jsp");
rd.forward(req, res);
}
}
Perceba que no final estou redirecionando para a tal página testa-altera-mvc.jsp, so que na requisicao desta vez
estao todos os dados necessarios como nome,email,endereco,etc…
E a página testa-altera-mvc.jsp se parece com isso:
<%--
Document : testa-altera-mvc
Created on : 28/03/2011, 09:14:48
Author : Not of your business
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<c:import url="cabecalho.jsp"/>
<form action="mvc" method="POST">
Id: <input type="text" name="id" value="${param.id}" readonly/><br/>
Nome: <input type="text" name="nome" value="${requestScope.nome}"/><br/>
E-mail: <input type="text" name="email" value="${requestScope.email}"/><br/>
Endereço: <input type="text" name="endereco" value="${requestScope.endereco}"/><br/>
Data de nascimento: <input type="text" name="nascimento" value="${requestScope.nascimento}"/><br/>
<input type="hidden" name="logica" value="AlteraContatoLogic"/>
<input type="submit" value="Salvar"/>
</form>
<c:import url="rodape.jsp"/>
Funcionou assim para mim, abraços e boa sorte