1
resposta

The method getBuild() is undefined for the type MvcUriComponentsBuilder.MethodArgumentBuilder

Olá, bom dia! Tudo bem?

Está aparecendo o seguinte erro no Eclipse:

**The method getBuild() is undefined for the type MvcUriComponentsBuilder.MethodArgumentBuilder**

Vi alguns fóruns e me informaram que isso é erro do eclipse, que pode ignorar. Mas ao testar o arquivo JSP, apresenta o seguinte erro:

**Observação: Retirei os < (menor) das tags abaixo para aparecer no fórum da alura, pois fica invisível.**

HTTP Status 500 – Internal Server Error

Type Exception Report

Message An exception occurred processing [/WEB-INF/views/produto/form.jsp] at line [14]

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

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

div class="panel-heading">Novo produto</div>

div class="panel-body">

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

div class="form-group">

label for="nome">

Nome:

Caso eu retire o "action" do formulário, para de dar o erro, porém não executa o POST.

1 resposta

Esse erro é por conta do spring:mvcUrl

Para resolver esse problema, 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) {

Fica 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">

Fica assim:

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