7
respostas

CSS não carrega

Coloquei os arquivos no webapp/resources/css/ porém não carrega na página. Devo fazer mais alguma coisa, tipo alguma configuração no AppWebconfiguration?

7 respostas

Oi Danila, se você deixar o console do seu browser aberto na aba network, qual o erro que acontece? Talvez você tenha colocado o link errado na jsp...

Não alterei o código, apenas coloquei a pasta resources dentro da pasta webapp. Está certo?

Oi Danila, e como estão as páginas? Como eu disse, é importante que você veja o console do navegador para descobrir se os links das páginas estão errados ou até mesmo se você não esqueceu de fazer alguma alteração na jsp.

No console do browser aparece:

Failed to load resource: the server responded with a status of 404 ()     fontello-ie7.css
Failed to load resource: the server responded with a status of 404 ()        fonts.css
...

Precisamos de dois códigos. O código da jsp que está sendo acessada e o código da classe de configuração onde você defina a pasta dos resources para o Spring.

detalhe.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %> <!--s de spring  -->
<!DOCTYPE html>
<html>
<head>
    <c:url value="/" var="contextPath" />
      <meta charset="utf-8"/>
          <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
          <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
        <link rel="icon"
            href="//cdn.shopify.com/s/files/1/0155/7645/t/177/assets/favicon.ico?11981592617154272979"
            type="image/ico" />
        <link href="https://plus.googlecom/108540024862647200608"
            rel="publisher"/>
        <title>${poduto.titulo} - Casa do Código </title>
        <link href="${contextPath}resources/css/cssbase-min.css"
            rel="stylesheet" type="text/css" media="all" />
        <link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700'
            rel='stylesheet'/>
        <link href="${contextPath}/resources/css/fonts.css"
            rel="stylesheet" type="text/css" media="all" />
        <link href="${contextPath}resources/css/fontello-ie7.css"
            rel="stylesheet" type="text/css" media="all" />
        <link href="${contextPath}resources/css/fontello-embedded.css"
            rel="stylesheet" type="text/css" media="all" />
        <link href="${contextPath}resources/css/fontello.css"
            rel="stylesheet" type="text/css" media="all" />
        <link href="${contextPath}resources/css/style.css"
            rel="stylesheet" type="text/css" media="all" />
        <link href="${contextPath}resources/css/layout-colors.css"
            rel="stylesheet" type="text/css" media="all" />
        <link href="${contextPath}resources/css/responsive-style.css"
            rel="stylesheet" type="text/css" media="all" />
        <link href="${contextPath}resources/css/guia-do-programador-style.css" 
            rel="stylesheet" type="text/css"  media="all"  />
        <link href="${contextPath}resources/css/produtos.css" 
            rel="stylesheet" type="text/css"  media="all"  />
        <link rel="canonical" href="http://www.casadocodigo.com.br/" />    
</head>
<body class="produto">

  <header id="layout-header">
        <div class="clearfix container">
            <a href="/" id="logo"></a>
            <div id="header-content">
                <nav id="main-nav">
                    <ul class="clearfix">
                        <li><a href="/carrinho" rel="nofollow">Carrinho(${carrinhoCompras.quantidade })</a></li><!-- manda a quantidade lá para o método getQuantidade de CarrinhoCompras -->

                        <li><a href="/pages/sobre-a-casa-do-codigo" rel="nofollow">Sobre Nós</a></li>
                        <li><a href="/pages/perguntas-frequentes" rel="nofollow">Perguntas Frequentes</a></li>
                    </ul>
                </nav>
            </div>
        </div>
    </header>
    <nav class="categories-nav">
        <ul class="container">
            <li class="category"><a href="http://www.casadocodigo.com.br">Home</a></li>
            <li class="category"><a href="/collections/livros-de-agile">Agile </a></li>
            <li class="category"><a href="/collections/livros-de-front-end">Front End </a></li>
            <li class="category"><a href="/collections/livros-de-games">Games </a></li>
            <li class="category"><a href="/collections/livros-de-java">Java </a></li>
            <li class="category"><a href="/collections/livros-de-mobile">Mobile </a></li>
            <li class="category"><a    href="/collections/livros-desenvolvimento-web"> Web </a></li>
            <li class="category"><a href="/collections/outros"> Outros </a></li>
        </ul>
    </nav>

    <article id="$produto.id">
          <header id="product-highlight" class="clearfix">
            <div id="product-overview" class="container">
              <img width="280px" height="395px" src="http://cdn.shopify.com/s/files/1/0155/7645/products/css-eficiente-featured_large.png?v=1435245145" class="product-featured-image" />
              <h1 class="product-title" itempropname="name">${produto.titulo }</h1>
              <p class="product-author">
                <span class="product-author-link"></span>
              </p>    
              <p class="book-description">${produto.descricao} </p>
            </div>
          </header>
    ...

AppWebConfiguration


@EnableWebMvc //importa a configuração Spring MVC da WebMvcConfigurationSupport que é a classe principal que fornece a configuração por trás da configuração Java MVC.
@ComponentScan(basePackageClasses= {HomeController.class, ProdutoDAO.class, FileSaver.class, CarrinhoCompras.class}) //onde estão os controllers
//@ComponentScan é usadoa em classes de configuração(@Configuration) indicando quais pacotes ou classes devem ser scaneadas pelo Spring para que essa configuração funcione.
public class AppWebConfiguration {

    @Bean //indicando que o Spring deve invocar aquele método e gerenciar o objeto retornado por ele. 
    public InternalResourceViewResolver internalResourceViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");

        resolver.setExposedContextBeanNames("carrinhoCompras"); //dispobinilizar os beans na jsp

        return resolver;
    }

    @Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();

        messageSource.setBasename("/WEB-INF/messages");
        messageSource.setDefaultEncoding("UTF-8");
        messageSource.setCacheSeconds(1);

        return messageSource;
    }

    @Bean
    public FormattingConversionService mvcConversionService() {
        DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();
        DateFormatterRegistrar registrar = new DateFormatterRegistrar();
        registrar.setFormatter(new DateFormatter("dd/MM/yyyy"));
        registrar.registerFormatters(conversionService);//registrar serve para colocar a formatação para depois registrá-lo dentro do serviço conversionService

        return conversionService;        
    }

    @Bean
    public MultipartResolver multipartResolver() { //para resolver o problema de envio de arquivos de multiplos formatos
        return new StandardServletMultipartResolver();
    }

}