无法通过addResourceHandler和thymeleaf在Spring 5.0.6中导入静态资源

时间:2018-05-19 19:35:32

标签: spring spring-mvc thymeleaf

我有以下文件夹结构:'resources' > 'static' > 'styles';
在'styles'文件夹中有文件style.css

还有这门课程:

@Configuration
@EnableWebMvc
public class ResourcesConfiguration implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry
                .addResourceHandler("/styles/**")
                .addResourceLocations("/styles/", "classpath:/static/");
    }
}  

index.html中,在head部分中有:

  <link th:href="@{/styles/style.css}" rel="stylesheet" type="text/css"  />  

我没有关于静态资源的其他配置(比如在application.properties中)。

当我在浏览器中访问index.html时,我得到:
请求网址:http://localhost:9000/styles/style.css
请求方法:GET
状态代码:404

1 个答案:

答案 0 :(得分:1)

addResourceLocations(String...locations)将作为var-arg列表在不同的位置。但它确实像相邻条目的前缀或后缀一样工作。

因此,您应该稍微更改下面的配置,以使其正常工作。

    registry
        .addResourceHandler("/styles/**") 
        .addResourceLocations("classpath:/static/styles/");