Alguma coisa está dando errado e não consegui percebor o que é. Ao clicar para adicionar o produto no carrinho, ele dá erro 404, direciona para http://localhost:8080/casadocodigo/carrinho/add ao invés de ir para a listagem dos protdutos. Coloquei um sysout no add do carrinho e percebi que ele nem chama este método add. Creio que seja apenas algum detalhe que esteja acontecendo.
Aqui está o form do detalhe .jsp:
<form action='<c:url value="/carrinho/add"/>' method="post" class="container">
<ul id="variants" class="clearfix">
<input type="hidden" value="${produto.idProduto }" name="produtoId"/>
<c:forEach items="${produto.precos }" var="preco">
<li class="buy-option" >
<input type="radio" name="tipo" class="variant-radio" id="tipo" value="${preco.tipo }" checked="checked" />
<label itemscope class="variant-label" >${preco.tipo } </label>
<small class="compare-at-price">${preco.valor}</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>
CarrinhoController:
@Controller
@RequestMapping("/carrinho")
public class CarrinhoComprasController {
@Autowired
private ProdutoDao produtoDao;
@Autowired
private CarrinhoCompras carrinho;
@RequestMapping("/add")
public ModelAndView add(Integer produtoId, TipoPreco tipoPreco){
//Ele nao entra aqui
System.out.println("Entrou aqui no carrinho/add");
ModelAndView modelAndView = new ModelAndView("redirect:/produtos");
CarrinhoItem carrinhoItem = criaItem(produtoId, tipoPreco);
carrinho.add(carrinhoItem);
return modelAndView;
}
AppWebConfiguration:
@EnableWebMvc
@ComponentScan(basePackageClasses={HomeController.class, ProdutoDao.class, FilerSaver.class, CarrinhoCompras.class})
public class AppWebConfiguration extends WebMvcConfigurerAdapter{
@Bean
public InternalResourceViewResolver internalResourceViewResolver (){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
Ele nem entra no CarrinhoController. O que será que está ocorrendo? Obrigado.