1
resposta

Mapping not found: cadastraProduto

Esse erro ocorria ao tentar editar um produto. Tentei todas as soluções do forum e nenhuma deu certo, então decidi copiar o que é feito com o método buscarPor da classe ProdutoController.

Na classe ProdutoController, o que era assim:

@Transactional
    @RequestMapping(method=RequestMethod.POST, name="cadastraProduto")
    public String salvar(@ModelAttribute @Valid Produto produto, BindingResult result, RedirectAttributes atts) {

Ficou assim:

@Transactional
    @RequestMapping(value="/cadastrar", method=RequestMethod.POST, name="buscarProdutos")
    public String salvar(@ModelAttribute @Valid Produto produto, BindingResult result, RedirectAttributes atts) {

No arquivo form.jsp, o que era assim:

<form action="${spring:mvcUrl('cadastraProduto').build()}" method="post">

Ficou assim:

<form class="form-group" method="post" action="<c:url value="/produto/cadastrar"/>">

O código original foi baixado dessa mesma atividade. Esse problema tem causado muita confusão nessa aula e o objetivo desse curso nem é entender Spring, mas sim JPA e Hibernate. Sugiro a correção do código e uma atualização da transcrição do vídeo.

PS: minha solução funciona para editar e salvar o produto, mas não sei se é a solução ideal ou se mesmo está correta.

1 resposta

Oi MATEUS

Realmente, o spring:mvcUrl não está funcionando como deveria nesse projeto. Esse curso está sendo refeito sem o Spring MVC, pois como você mencionou o foco nem é aprender Spring e sim JPA.

Obrigado por compartilhar essa solução.

Abraço, bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software