編碼的世界 / 優質文選 / 生涯

springboot css樣式顯示不出了的幾種情況


2021年9月30日
-   

一.被springMVC攔截沒寫靜態釋放(對應全部頁面css沒有)


在@Configuration注解類中 1.WebMvcConfigurationAdapter 在spring boot 2.0被廢棄
@Configuration
public class MyMvcConfig implements WebMvcConfigurer
寫implements WebMvcConfigurer
2019 7月最近implements WebMvcConfigurer會報錯如果不把所有方法都引入進來
但是寫進來了有會攔截頁面我也是無語,一更新我就看不懂了,只有寫靜態資源釋放
了,沒找到有效辦法。

2.如果是WebMvcConfigurationSupport那就要寫 (以下代碼就複制@Configuration注解類裏面)
//靜態資源釋放
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/static/");
}

3.WebMvcConfigurer就約等於以前的WebMvcConfigurationAdapter(自己認為) 就不用寫靜態配置不過這個是implementsWebMvcConfigurationSupport是繼承

二.自己構造了攔截器(對應部分頁面css沒有)


記得要排除攔截寫全,css也會被攔截,記得要排除靜態資源文件夾比如"/asserts/**" (css放到哪個文件夾裏就排除哪個文件夾).excludePathPatterns("/","/index.html","/user/login","/asserts/**"); (以下代碼就複制@Configuration注解類裏面)
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**")
.excludePathPatterns("/","/index.html","/user/login","/asserts/**");
}

三.以上都查了


  • 請檢查 看是否配置了改寫springMVC釋放路徑spring.mvc.static-path-pattern=
  • 使用了模板引擎,但是css引入沒用模板引擎,也會造成css404錯誤,就是在html標簽用href,模板引擎用th:href,要改成th:href,不要用href。
  • 使用了模板引擎,但是css引入沒用模板引擎(這裏會導致http://localhost:8080/1有css,http://localhost:8080/1/2無css)
  • 熱門文章