Eu encontrei o meu problema em um outro tópico: https://cursos.alura.com.br/forum/topico-problema-com-s-mvcurl-101088 porém, não entendi a solução.
Nesse tópico, o Otávio Felipe envia um link que contém a solução: https://github.com/spring-projects/spring-security/issues/4214 Aparentemente isso é um erro que não foi resolvido do Spring Security.
1- No link que o Otávio enviou, o usuário disse que criou um método (abaixo) para resolver temporariamente esse problema. Porém, em que parte dos meus códigos eu devo colocar esse método? E como faria para usar na JSP? Realmente estou perdido.
public static MethodArgumentBuilder fromMappingName(String name){
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
HttpServletRequest servletRequest = ((ServletRequestAttributes) requestAttributes).getRequest();
UrlPathHelper pathHelper = new UrlPathHelper();
UriComponentsBuilder baseUri = UriComponentsBuilder.fromPath(pathHelper.getOriginatingContextPath(servletRequest));
baseUri.path(pathHelper.getOriginatingServletPath(servletRequest));
return MvcUriComponentsBuilder.fromMappingName(baseUri, name);
}
2- O Otávio também disse para montar a URL sem o uso do mvcUrl. Como eu faço isso com métodos que precisam de parâmetros? Para exemplificar, segue o código que estou tendo problema:
<form action="${s:mvcUrl('CCC#remover').arg(0,item.produto.id).arg(1, item.tipoPreco).build()}" method="POST">
Como vocês podem perceber, eu preciso passar dois parâmetros para o método Remover do Controller CCC(CarrinhoComprasController). Como eu faço isso sem utilizar o mvcUrl?
Obrigado pessoal!