Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 6 da Aula 3 - Recebendo dados da requisição

Pessoal boa noite.

Estou com uma dúvida, não necessariamente nesse exercício, mas também faz parte do conteúdo "Recebendo dados da requisição".

A dúvida é a seguinte, na aula 5, estamos com a listagem de contas basicamente pronta, porém foi colocado um link escrito "Remover" em cada linha da lista de contas.

O problema é que, eu não sei como enviar o id da conta para o ContaController. Segue código:

<td>
    <a href="removerConta" name="conta.id">Remover</a>
</td>

E o ContaController:

@RequestMapping("removerConta")
public String removerConta(Conta conta) {

    DAO<Conta> contaDAO = new DAO<Conta>(Conta.class);
    contaDAO.remover(conta);

    return "conta/contaRemovida";
}

Porém, ao clicar no link eu recebo o objeto Conta criado, porém sem dados, ou seja, tudo null.

Alguém consegue me explicar o porque do mapeamento não estar funcionando entre a JSP e o Controller?

Obrigado!

2 respostas

Oi Rafael,

Receber o objeto diretamente, eu nunca usei, apenas pelo id, mas você pode tentar com a anotação @RequestBody

@RequestMapping("removerConta")
public String removerConta(@RequestBody Conta conta) {

    DAO<Conta> contaDAO = new DAO<Conta>(Conta.class);
    contaDAO.remover(conta);

    return "conta/contaRemovida";
}

Verifique, caso não dê certo, é possivel que precise deserializar, não tenho certeza.

solução!

Douglas boa noite,

Consegui identificar o problema em um exercício posterior à esse.

Na tag <a> o instrutor usou a seguinte instrução:

<a href="removerConta?id=${conta.id}">Remover</a>

Com isso, ele consegue popular, pelo menos o id da conta e fazer a remoção.

Obrigado, vou marcar como resolvido aqui!