Mesma situação do outro post, peguei o projeto do professor para seguir o curso, esses fontes estão rodando no tomcat8 e o projeto do professor no tomcat 8.5 ambos os casos uso java 8
O código da controller, só não coloquei aqui os imports mas no projetos estão todos os imports necessários
@Controller
@RequestMapping("/carrinho")
public class CarrinhoComprasController {
@Autowired
private ProdutoDAO produtoDao;
@Autowired
private CarrinhoCompras carrinho;
@RequestMapping("/add")
public ModelAndView add(Integer produtoId, TipoPreco tipoPreco) {
System.out.println("Aqui");
ModelAndView modelAndView = new ModelAndView("redirect:/produtos");
CarrinhoItem carrinhoItem = criaItem(produtoId, tipoPreco);
carrinho.add(carrinhoItem);
return modelAndView;
}
private CarrinhoItem criaItem(Integer produtoId, TipoPreco tipoPreco) {
Produto produto = produtoDao.find(produtoId);
CarrinhoItem carrinhoItem = new CarrinhoItem(produto, tipoPreco);
return carrinhoItem;
}
}
O treco de detalhes.jsp onde é feito a chamada para o carrinho/add:
<section class="buy-options clearfix">
<form action='<c:url value="/carrinho/add"/>' method="post" class="container">
<input type="hidden" value="${produto.id }" name="produtoId" >
<ul id="variants" class="clearfix">
<c:forEach items="${produto.precos }" var="preco">
<li class="buy-option">
<input type="radio" name="tipoPreco" class="variant-radio" id="tipoPreco" value="${preco.tipo }" checked="checked" />
<label class="variant-label">${preco.tipo }</label>
<small class="compare-at-price">R$ 39,90</small>
<p class="variant-price">${preco.valor }</p>
</li>
</c:forEach>
</ul>
<button type="submit" class="submit-image icon-basket-alt" alt="Compre Agora" title="Compre Agora ${produto.titulo }"></button>
</form>
</section>
Grato