Prezados, boa noite.
Quando utilizado o action "abaixo" no botão da pagina detalhe, o funcionamento ocorre normalmente.
<form action="<c:url value='/carrinho/add' />" method="post" class="container">
//códigos
<input type="hidden" name="${_csrf.parameterName }" value="${_csrf.token }" />
</form>
porém, após alterar para o uso do servletRelativeAction "abaixo" a url é alterada, logo apresentando erro por não encontrar a url do carrinho.
<form:form servletRelativeAction="/carrinho/add" method="post" cssClass="container">
//Códigos
</form:form>
Minha classe "CarrinhoComprasController"
@Controller
@RequestMapping("/carrinho")
@Scope(value = WebApplicationContext.SCOPE_REQUEST)
public class CarrinhoComprasController {
@Autowired
private ProdutoDao produtoDao;
@Autowired
private CarrinhoCompras carrinho;
@RequestMapping("/add")
public ModelAndView add(Integer produtoId, TipoPreco tipoPreco) {
ModelAndView modelAndView = new ModelAndView("redirect:/carrinho");
CarrinhoItem carrinhoItem = criaItem(produtoId, tipoPreco);
carrinho.add(carrinhoItem);
return modelAndView;
}
@RequestMapping(method = RequestMethod.GET)
public ModelAndView itens() {
return new ModelAndView("carrinho/itens");
}
private CarrinhoItem criaItem(Integer produtoId, TipoPreco tipoPreco) {
Produto produto = produtoDao.find(produtoId);
CarrinhoItem carrinhoItem = new CarrinhoItem(produto, tipoPreco);
return carrinhoItem;
}
@RequestMapping("/remover")
public ModelAndView remover(Integer produtoId, TipoPreco tipoPreco) {
carrinho.remover(produtoId,tipoPreco);
return new ModelAndView("redirect:/carrinho");
}
}
O que poderia ser?