代码之家  ›  专栏  ›  技术社区  ›  Cristian

无法通过addResourceHandler和thymeleaf导入Spring5.0.6中的静态资源

  •  1
  • Cristian  · 技术社区  · 6 年前

    我有以下文件夹结构: 'resources' > 'static' > '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文件 在浏览器中,我得到:
    请求URL: http://localhost:9000/styles/style.css
    请求方法:GET
    状态代码:404

    1 回复  |  直到 6 年前
        1
  •  1
  •   narayan-sambireddy    6 年前

    addResourceLocations(String...locations) 将在不同的位置作为var参数列表。但它的工作方式与相邻条目的前缀或后缀类似。

    所以您应该稍微改变一下您的配置,如下所示,以使其正常工作。

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