Duvida exercico 2(9.9) apostila caelum fj21

Fala moçada estou com uma pequena duvida.

2 - Coloque um link na sua lista-contatos-elegante.jsp que abre a página testa-altera-mvc.jsp passando
o Id do contato que você quer alterar. Deixe o campo Id visível no form mas não alterável. Não
esqueça de passar o campo Id pela requisição. Faça com que os campos do form estejam populados com
os dados do contato a ser editado.

Como faço para popular minha pagina tentei deste modo porem sem sucesso

[code]
<c:import url=“cabecalho.jsp” />
Formulário para alteração de contatos:

	<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:
			<caelum:campoData id="dataNascimento"/>
			<input type="hidden"
				name="logica" value="AlteraContatoLogic"/>
			<input type="submit" value="Enviar"/>
	</form>
<c:import url="rodape.jsp"/>
[/code] [code] public class AlteraContatoLogic implements Logica {
@Override
public void executa(HttpServletRequest req, HttpServletResponse res)
		throws Exception {
	Contato contato = new Contato();
	
	long id = Long.parseLong(req.getParameter("id"));
	contato.setId(id);
	contato.setNome(req.getParameter("nome"));
	contato.setEndereco(req.getParameter("endereco"));
	contato.setEmail(req.getParameter("email"));
	
	String dataEmTexto = req.getParameter("dataNascimento");
	Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataEmTexto);
	Calendar dataNascimento = Calendar.getInstance();
	dataNascimento.setTime(date);
	
	contato.setDataNascimento(dataNascimento);
	
	ContatoDAO dao = new ContatoDAO();
	dao.altera(contato);
	
	RequestDispatcher rd = req.getRequestDispatcher("/lista-contatos-elegante.jsp");
	rd.forward(req, res);

	System.out.println("Alterando Contato..."+contato.getNome());
	
}

}

[/code]
Obrigado

Qual é exatamente seu problema?

Como está passando o id?

/testa-altera-mvc.jsp?id=1

Coloca aí tb:

O valor do id é: ${param.id}

Na verdade queria saber como popular a minha página de alteração de contato, sem ter que passar por parâmetro os outros dados como nome, email entre outros, parametro eu quero usar só o email e quando entrar na tela os outros campos estarem preenchidos entendeu?
Tentei usar o requestScope porém sem sucesso, sabe como devo fazer isso?
Obrigado

Eu resolvi instanciando uma ContatoDAO…
Na ContatoDAO, tem a getLista…
Não consegui filtrar usando uma getLista(long id)…

Aí fiz um serviço porco: <c:forEach var=“contato” items=lista…
E testei pra colocar no value dos inputs apenas o id que eu tinha…

<c:if test={contato.id eq param.id}…
<input type=“text” name=“id” value="${contato.id}…

Se conseguir filtrar posta aí, por favor…

O que eu tinha pensado era com o id buscar um contato com um dao.getContato(long id)… Mas não tive sucesso…

Desculpe a resposta truncada… No cel é meio difícil…

Deve ter um jeito mais simples, vi alguns post e alguns conseguiriam utilizando o requestScope, porém não estou conseguindo. Alguem sabe alguma maneira de preencher o form sem usar parametros, se não houver vou utilizar o parametro mesmo
Obrigado