6
respostas

Problemas no uso do spring:mvcUrl

Ao tentar salvar um produto, ele não encontra o controller ao utilizar o recurso spring:mvcUrl, e direciona para uma url sem coerênca. Url que ele direciona: http://localhost:8080/gerenciador-negocios/WEB-INF/views/produto/cadastro.jsp/produto/

Meu controler:

package br.com.gerenciador.negocios.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import br.com.gerenciador.negocios.model.Produto;

@Controller
@RequestMapping("/produto")
public class ProdutoController {

    @RequestMapping(value="/cadastro", method = RequestMethod.GET)
    public ModelAndView form(Produto produto) {
        return new ModelAndView("/produto/cadastro");
    }

    @RequestMapping(method = RequestMethod.POST)
    public ModelAndView salvar(Produto produto) {
        System.out.println(produto.toString());
        return new ModelAndView("redirect:/produto");
    }

}

Minha página:

<%@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"%>
<%@taglib tagdir="/WEB-INF/tags" prefix="tags"%>

<tags:page title="Cadastro Produto" bodyClass="">

    <jsp:body>
        <div class="col-12 col-md-9 pull-md-3 bd-content">
            <div class="jumbotron">
                <form:form action="${spring:mvcUrl('PC#salvar').build() }" method="post" commandName="produto">
                    <div class="form-group">
                        <label for="inputDescricao">Descrição</label>
                        <form:input path="descricao" class="form-control"/>
                    </div>

                    <div class="form-group">
                        <label for="inputPeso">Peso</label>
                        <form:input path="peso" class="form-control"/>
                    </div>

                    <div class="form-group">
                        <label for="inputCaracteristica">Caracteristicas</label>
                        <form:textarea path="caracteristicas" rows="3" class="form-control"/>
                    </div>

                    <div>
                        <button type="submit" class="btn btn-primary">Enviar</button>
                    </div>
                </form:form>
            </div>
        </div>
    </jsp:body>
</tags:page>

A estrutura das pastas estão corretas.

6 respostas

Bom dia Fabrício, ele nem entra no seu Controller???

Dá um clean tanto no projeto quanto no tomcat só para ter certeza que o projeto foi reconstruído direitinho

Bom dia, ele não chega entrar no controller. Efetuei um clear, estou usando o wildfly.

Tem como subir no github pra mim por favor?

Bom dia Utilizei o tomcat e funcionou, estranho não funcionar no wildfly, acha que tem alguma coisa específica?

Estranho, porque o wildfly tem um servlet container dentro dele, mesmo não sendo o tomcat(na caso é o undertow) deveria funcionar sim... sobe o projeto no github que eu testo nos dois servidores por aqui

Olá!

Estou com o mesmo problema e estou usando tomcat.

Poderiam auxiliar?

Postei no forum meu problema: https://cursos.alura.com.br/forum/topico-problema-com-a-exclusao-dos-itens-e-finalizacao-dos-pedidos-mesmo-depois-de-atualizar-a-tag-form-form-48022

Ali tem o meu repositório do git.

Att.,

Juliana Torres

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