Spring /资源处理程序位置

时间:2015-05-12 16:11:29

标签: spring-mvc

我在资源定位器的春天有常见问题,无法找出问题所在(CSS样式不起作用:

我的.JSP页面和HTML代码:

<head>
<link href="/css/basicStyle.css" rel="stylesheet" type="text/css"/>
</head>

我的资源定位器配置:

@Configuration
@ComponentScan("loginsystem.controllers")
@EnableWebMvc
public class ServletConfig extends WebMvcConfigurerAdapter{

    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver resolver =
                new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        resolver.setExposeContextBeansAsAttributes(true);
        resolver.setViewClass(
                  org.springframework.web.servlet.view.JstlView.class);
        return resolver;
    }

@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
    configurer.enable();
}

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry)
{
    registry.addResourceHandler("/css/**").addResourceLocations("/LoginSystem/WebContent/WEB-INF/css/");
}

}

My project structure in eclipse :

解决方案:

在查看其他问题后,我找到了解决方案:

<link href="${pageContext.request.contextPath}/css/basicStyle.css/" rel="stylesheet" type="text/css"/>

任何人都可以解释为什么需要pageContext吗?

2 个答案:

答案 0 :(得分:0)

从&#34; / LoginSystem / WebContent / WEB-INF / css /&#34;更改资源位置;到&#34; / WEB-INF / css /&#34;

答案 1 :(得分:0)

有一个专门的JSP标记:

<!doctype html>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>

<html>
<head>
<link href="<spring:url value="/css/basicStyle.css"/>"
      rel="stylesheet" type="text/css"/>

如果您希望在应用程序中拥有更好的resource handling support,您可能还需要在应用程序中注册ResourceUrlEncodingFilter