3
respostas

404

o Botão comprar do detalhe.jsp retorna erro 404, no método add() adicionei um sysout para testar se está entrando nesse método, porém não imprime nada no console, segui estritamente o passo a passo do professor e não funcionou...alguém tem alguma idéia?

3 respostas

Oi Tiago, tudo bem?

Posta aqui seu detalhe.jsp e o Controller para darmos uma olhada =)

Abraço!

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

mesma coisa aconteceu aqui, já sei o que é. inclusive tem que fazer uma correção no curso.

a url do form não tem casadocodigo escrito

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software