如何在jsp页面中使用css

时间:2014-02-22 11:01:12

标签: java spring jsp spring-mvc

我正在尝试使用jsp页面中的css文件,但页面没有看到css代码。

这是我的.jsp文件;

<html class="no-js" lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Foundation | Welcome</title>
    <link rel="stylesheet" href="/sources/css/foundation.css" />
    <script src="/sources/js/vendor/modernizr.js"></script>
  </head>
  <body>

enter image description here

enter image description here

这是我的配置文件

    @Configuration
    @ComponentScan("com.sprhib")
    @EnableWebMvc
    public class BaseTestConfig {

        @Bean
        public UrlBasedViewResolver setupViewResolver() {
            UrlBasedViewResolver resolver = new UrlBasedViewResolver();
            resolver.setPrefix("/WEB-INF/pages/");
            resolver.setSuffix(".jsp");
            resolver.setViewClass(JstlView.class);
            return resolver;
        }


            public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/sources/**").addResourceLocations("/sources/");
        }

    }

3 个答案:

答案 0 :(得分:3)

webapp未部署为root webapp。所以它有一个“上下文路径”。例如,访问位于webapp根目录下的index.html文件的路径实际上就像

http://localhost:8080/myfirstwebapp/index.html

这是浏览器的位置栏包含的内容,/myfirstwebapp是应用程序的上下文路径。

因此,如果您的网页包含href="/sources/css/foundation.css",则浏览器会尝试从

加载css文件
http://localhost:8080/sources/css/foundation.css

而不是

http://localhost:8080/myfirstwebapp/sources/css/foundation.css

因此,您需要在您的网络应用中添加所有绝对网址的上下文路径。使用JSTL:

href="<c:url value='/sources/css/foundation.css'/>"

没有JSTL:

href="${pageContext.request.contextPath}/sources/css/foundation.css"

答案 1 :(得分:0)

尝试使用完整的网址路径直接通过网络浏览器调用这些css。 这取决于您在Tomcat或Web服务器中定义的应用程序路径。

如果它映射为http://yourdomain.com/(root),则应为http://yourdomain.com/sources/css/foundation.css,但如果映射为http://yourdomain.com/test或其他内容,则CSS的网址应为http://yourdomain.com/test/sources/css/fundations.css。< / p>

您可以使用相对传递,或者引入PATH变量,以便始终在源代码中创建类似http://yourdomain.com/PATH/sources/css/foundations.css的链接。

答案 2 :(得分:0)

删除 / sources 中的 / 。这将有效