No exercício de tornar a url de um form dentro de uma jsp o Eclipse aponta um erro, apesar de funcionar corretamente.
O erro é: The method getBuild() is undefined for the type MvcUriComponentsBuilder.MethodArgumentBuilder. O erro fica na instrução ${s:mvcUrl('PC#grava').build() onde fica grifado build().
Abaixo está o código da jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Cadastre um novo produto</title>
</head>
<body>
<form:form action="${s:mvcUrl('PC#grava').build() }" method="post" commandName="produto">
<div>
<label>Título</label>
<input type="text" name="titulo">
<br>
<form:errors path="titulo"/>
</div>
<div>
<label>Sinopse</label><br>
<textarea rows="20" cols="40" name="sinopse"></textarea>
<br>
<form:errors path="sinopse"/>
</div>
<div>
<label>Páginas</label>
<input type="text" name="paginas">
<br>
<form:errors path="paginas"/>
</div>
<c:forEach items="${tiposPreco}" var="tipoPreco" varStatus="status">
<div>
<label>${tipoPreco}</label>
<input type="text" name="precos[${status.index}].valor">
<input type="hidden" name="precos[${status.index}].tipo" value="${tipoPreco }">
</div>
</c:forEach>
<br>
<button type="submit">Cadastrar</button>
<!-- Na tag form foi trocado a URL fixa por uma dinâmica que aponta para o método grava da classe ProdutosController('PC#grava') -->
<!-- Apesar do eclipse estranhar a expressão "${s:mvcUrl('PC#grava').build() }", tudo funciona normalmente -->
</form:form>
</body>
</html>