2
respostas

Método não mapeado

Olá!

Não localizo onde está ocorrendo o problema com o código. O meu código estava exatamente igual ao código da aula, ainda assim na dúvida baixei a solução e troquei com a minha, mas o resultado é exatamente o mesmo.

Quando tento acessar o "Editar" aparece a seguinte informação no browser, dada pelo Tomcat:

Exception

org.apache.jasper.JasperException: An exception occurred processing [/WEB-INF/views/produto/form.jsp] at line [15]

12:         <div class="panel-heading">Novo produto</div>
13: 
14:         <div class="panel-body">
15:             <form action="${spring:mvcUrl('cadastraProduto').build()}" method="post">
16:                 <div class="form-group">
17:                     <label for="nome">
18:                         Nome:

[Edição: todas as taglib estão presentes:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>

fim da edição]

Verificando a Root Cause se lê:

Root Cause

javax.el.ELException: Problems calling function [spring:mvcUrl]

O problema é causado na view/produto/form.jsp.

Em tese o método está sim mapeado na classe ProdutoController, como se observa:

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

        if(result.hasErrors()) {
            return form(produto);
        }

        produtoDao.insere(produto);

        return "redirect:/";
    }

Friso novamente que baixei o código da solução e o que foi copiado acima é exatamente o que consta no código baixado, já que substituí o do meu projeto por dar exatamente o mesmo problema.

Conseguem visualizar onde está o erro para que seja corrigido?

2 respostas

Da uma olhada na linha 14 esta assim

14:         iv class="panel-body">

esta faltando <d

14:         <div class="panel-body">

Infelizmente não é isso. Mas obrigado por chamar atenção, eu corrigi no código mas havia esquecido de corrigir aqui. Editarei o tópico para não levar outras pessoas a erro.