SpringBoot+thymeleaf如何訪問靜態資源

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.啓動測試

訪問項目查看頁面是否正確顯示,到這裏應該是能夠解決的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章