问题
static目录结构如下:
通过thymeleaf的 th:href="@{/css/me.css}"
方式引入static目录下的静态资源时,网页无法加载静态资源,经查询貌似是springboot2会拦截静态资源。
解决方案
自定义一个配置类,配置资源映射:
package com.dwc.blog;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {
Logger logger = LoggerFactory.getLogger(this.getClass());
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// 将路径/static/** 映射到 /static 下的文件
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}
}
之后,可以通过th:href="@{/static/css/me.css}"
的方式引入static目录下的静态资源,也可以省略/static
,即th:href="@{/css/me.css}"
。