SpringBoot+thymeleaf如何訪問靜態資源
1.版本信息
spring boot : 2.1.8
2.目錄結構
3.問題描述
在springboot項目搭建好以後,訪問HTML頁面時發現沒有任何的樣式。
4.頁面路徑
首先修改HTML頁面對靜態資源文件的訪問路徑。
(1)在HTML的頭部添加thymeleaf的標記
<html lang="en" xmlns:th="http://www.thymeleaf.org">
(2)修改網頁文檔中的對靜態資源的引用,語法規則如下:
命令格式:
th:href="@{/static/.....}"
命令用法:
<link rel="stylesheet" th:href="@{/static/vendor/bootstrap/css/bootstrap.min.css}">
解釋說明:
1.springboot2.0之後的靜態資源文件需要添加/static/,在IDEA中測試路徑寫法是否正確是按住Ctrl鍵並用鼠標左鍵點擊,若能跳轉到資源則說明路徑正確。
2.th:href 替換的是href屬性,相對應的還有src,可以使用th:src=“@{/static/....}”進行替換。
5.擴展MVC
springboot的優點在於有各種自動配置,在這裏我們需要對springMVC進行擴展配置則需要繼承WebMvcConfigurationSupport,這是2.0以後修改的地方,具體的做法步驟如下。
(1)創建擴展
首先在src下新建config目錄,並創建SpringMVC配置擴展類,並繼承WebMvcConfigurationSupport類。
(2)重寫方法
重寫方法addResourceHandlers,將其中的請求映射路徑做修改。
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
// 將url爲 /static/** 的請求映射到 /static/ 路徑下進行查找
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}
6.啓動測試
訪問項目查看頁面是否正確顯示,到這裏應該是能夠解決的。