2014-02-22 49 views
2

我想从我的jsp页面使用css文件,但页面没有看到css代码。如何在jsp页面中使用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

这是我的configuratin文件

@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/"); 
     } 

    } 
+0

你是什么意思的网页没有看到的CSS代码? –

+0

您是否在dispatcher-servlet.xml文件中添加了资源配置?例如。 Ajeesh

+0

我不添加它,因为我不使用xml配置我使用注释配置该如何做到这一点。我的代码就是这样的; – EmreAltun

回答

3

web应用程序未部署的Web应用程序根。所以它有一个“上下文路径”。访问index.html文件是在你的web应用的根目录的路径,例如,其实像

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

这是浏览器的地址栏中包含,并且/myfirstwebapp是上下文路径的应用程序。

所以,如果页面包含href="/sources/css/foundation.css",浏览器将尝试从

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

,而不是从

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

加载CSS文件,因此,你需要上下文路径,预先准备所有 Web应用程序中的绝对URL。使用JSTL:

没有JSTL:

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

试图直接通过与完整的URL路径Web浏览器中调用这些CSS。 这取决于你在Tomcat或Web服务器中定义的应用程序路径。

如果它映射像http://yourdomain.com/(根),它应该是http://yourdomain.com/sources/css/foundation.css,但如果它像映射或http://yourdomain.com/test东西,网址为CSS应该是http://yourdomain.com/test/sources/css/fundations.css

您可以为这些使用相对通行证,也可以引入PATH变量,以便始终在源代码中创建类似http://yourdomain.com/PATH/sources/css/foundations.css的链接。

0

删除//来源。这将工作

+0

只有当他正在访问webapp根目录下的URL时。 –

+0

是的,你是对的。这只有在@EmreAltun将其Web应用程序映射为ROOT –

+0

号时才起作用。即使Web应用程序是根Web应用程序,它也只适用于根目录下的URL,即它将与/hello.jsp一起使用,但不会用于/foo/bar/hello.jsp)。 –