Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Css nao encontrado ao ser redirecionado pelo Controller

Boa tarde,

quando faço um request para minha pagina inicial por exemplo é executado normamente, mas se tenho um botão que leva alguma pagina com produtos de certa categoria, ele adiciona a o endereço do form na Url dos arquivos como imagens e Arquivos css.

Vou dar um exemplo.

meu Carrinho de comprar ao clicar me leva para uma jsp que tem os itens do carrinho.

form de envio:

<form action="/rprvidros/carrinho/add" method="post">
            <div class="container">
                <c:forEach items="${produto}" var="produto">
                    <div class="produtos-categoria">
                        <img src="${produto.path }">
                        <p class="produto-titulo">${produto.descricao}</p>
                        <p class="preco-produto">R$</p>
                        <p class="produto-carrinho">
                        <button type="submit" class="botao-carrinho">
                        <span class="icon-shopping-cart"> </span>
                        Adicionar ao Carrinho </button></p>
                        <input type="hidden" name="produtoId" value="${produto.id}" />
                        <input type="hidden" name="${_csrf.parameterName }" value="${_csrf.token }" />
                    </div>
                </c:forEach>
            </div>
        </form>

controller:

@RequestMapping("/add")
    public ModelAndView add(Integer produtoId) {
        ModelAndView modelAndView = new ModelAndView("detalhe");
        PedidoItem criaItem = criaItem(produtoId);
        pedido.add(criaItem);
        Collection<PedidoItem> itens = pedido.getItens();
        return modelAndView.addObject("pedidoItem", itens);

    }

na pagina detalhe ele esta procurando os arquivos nos seguinte endereço:

http://localhost:8080/rprvidros/carrinho/resources/css/cadastro.css

ele esta adicionando o /carrinho no path dos arquivos, deve ser coisa besta mas nao estou conseguindo achar.

obrigado.

3 respostas
solução!

Oi Gabriel,

Provavelmente na hora de importar o css você está utilizando o caminho relativo (caminho a partir da URL atual) ao invés do caminho absoluto (caminho a partir da raiz "/" da URL).

Neste caso você deve usar o caminho absoluto para que as URLs dos seus CSS, imagens e JS fiquem corretos.

Dica: Você pode usar a tag <c:url> para que seja preenchido o caminho absoluto para você na sua JSP.

Abraço!

Ola Joviane,

estou tentando fazer pelo caminho absoluto, esta me voltando um aviso, veja se esta certo caminho absoluto por favor

href="\rprvidros\src\main\webapp\resources\css\cadastro.css">

no navegador me volta a seguinte mensagem:

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:8080/rprvidros/login"

parece que ele ta interpretando meu css como se fosse html e colocando o endereço com o final login?

Ola Joviane, eu consegui muito obrigado.