1
resposta

Erro [spring:mvcUrl] - Erro ao clicar em EDITAR.

Botão editar: home.jsp

<a class="btn btn-default"
href="<c:url value="/produto/${produto.id}/form"/>">Editar </a>

ProdutoController.java Update

    @RequestMapping(value="/{id}/form", method=RequestMethod.GET)
    public String update(@PathVariable Integer id, Model model) {
        Produto produto = produtoDao.getProduto(id);

        model.addAttribute("produto", produto);
        return form(produto);
    }

CadastroProduto

@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:/";
    }

URL solicitada:

http://localhost:8080/projeto-jpa-2/produto/2/form

Erro 500:

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

org.apache.jasper.JasperException: javax.el.ELException: Problems calling function [spring:mvcUrl]

java.lang.IllegalArgumentException: Mapping not found: cadastraProduto

chamada:

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

Dependências do Projeto:

</dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>2.0.1.Final</version>
        </dependency>
        <!-- <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache-core</artifactId> 
            <version>2.6.9</version> </dependency> -->
        <!-- Hibernate EHCache API -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-ehcache</artifactId>
            <version>5.4.3.Final</version>
        </dependency>
        <!-- EHCache uses slf4j for logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.5</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-entitymanager</artifactId>
      <version>5.4.2.Final</version>
      <scope>runtime</scope>
    </dependency>
        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>

O que está sendo proposto a ser explicado nessa aula é que somente através do openentitymanager é possível fazer a jsp acessar o conteúdo categorias por que a sessão com o banco não foi finalizada ainda e desta forma é possível popular o form? Tive tanto problema com o projeto em si que até perdi a noção do que vocês gostariam de repassar nestas aulas...

Obrigado.

1 resposta

Olá João, tudo bem? Peço desculpas pelo demora no retorno! Acho que você está com o mesmo problema que o Cleverton estava nesse outro tópico e lá eu indiquei a solução, você poderia verificar esse tópico e fala pra gente se deu tudo certo!

Espero ter ajudado e 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