我在资源定位器的春天有常见问题,无法找出问题所在(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/");
}
}
解决方案:
在查看其他问题后,我找到了解决方案:
<link href="${pageContext.request.contextPath}/css/basicStyle.css/" rel="stylesheet" type="text/css"/>
任何人都可以解释为什么需要pageContext吗?
答案 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。