最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring-boot-starter-thymeleaf加載外部html文件方式

 更新時間:2025年02月24日 14:26:02   作者:jforgame  
本文介紹了在SpringMVC中使用Thymeleaf模板引擎加載外部HTML文件的方法,以及在Spring Boot中使用Thymeleaf的基本步驟,包括引入依賴、創(chuàng)建Controller、創(chuàng)建HTML文件、參數(shù)化訪問、熱加載和熱更新文件

在Spring MVC中,我們可以使用Thymeleaf模板引擎來實(shí)現(xiàn)加載外部HTML文件。

1.Thymeleaf介紹

Thymeleaf是一種現(xiàn)代化的服務(wù)器端Java模板引擎,用于構(gòu)建漂亮、可維護(hù)且易于測試的動態(tài)Web應(yīng)用程序。它適用于與Spring框架集成,并且可以與Spring MVC或Spring Boot等框架一起使用。

Thymeleaf模板引擎允許開發(fā)人員在HTML頁面中使用模板表達(dá)式,這些表達(dá)式可以動態(tài)地替換頁面中的內(nèi)容。它提供了豐富的表達(dá)式語法,可以從后端Java代碼中獲取動態(tài)數(shù)據(jù),并在模板中進(jìn)行顯示。

與其他模板引擎相比,Thymeleaf具有以下特點(diǎn):

  • 自然的模板語法:Thymeleaf的模板語法非常類似于HTML,易于理解和編寫。
  • 靜態(tài)預(yù)覽:在開發(fā)過程中,可以直接在瀏覽器中預(yù)覽Thymeleaf模板,無需啟動整個應(yīng)用程序。
  • 強(qiáng)大的功能:Thymeleaf提供了豐富的標(biāo)簽和表達(dá)式,可以處理循環(huán)、條件判斷、國際化等常見的模板需求。
  • 安全:Thymeleaf會對輸出的內(nèi)容進(jìn)行自動轉(zhuǎn)義,以防止XSS攻擊。

2.springboot使用thymeleaf

使用spring-boot-starter-thymeleaf可以非常方便地使用thymeleaf,下面來看詳細(xì)的例子。

2.1.引入spring-boot-starter-thymeleaf依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

2.2.創(chuàng)建controller

@Controller
public class H5Controller {

    @GetMapping("/external")
    public String loadExternalHtml() {
        return "index";
    }
}
 

在上述示例中,index()方法處理根路徑的GET請求,并返回"index"字符串。這意味著它將返回名為index.html的Thymeleaf模板。

現(xiàn)在,創(chuàng)建一個名為index.html的Thymeleaf模板,放置在src/main/resources/templates目錄下(默認(rèn)的Thymeleaf模板目錄)

如果想重新定義模板目錄路徑,只需要修改application.properties文件

spring.thymeleaf.prefix=file:/F:/projects/eb/resources/html5/

2.3.創(chuàng)建簡易html文件

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Index Page</title>
</head>
<body>
    <h1>This is the index page</h1>
</body>
</html>

2.4.瀏覽器訪問

在瀏覽器輸入localhost:8080/index.html,即可看到html內(nèi)容。

2.5.參數(shù)化訪問html文件

假設(shè)Thymeleaf目錄下有很多文件,我們希望客戶端能通過參數(shù)來選擇加載某個文件,那么我們可以修改controller的代碼。

@Controller
public class H5Controller {

    @GetMapping("/external")
    public String loadExternalHtml(@RequestParam String resource) {
        return resource; 
    }

}

瀏覽器重新輸入(可以根據(jù)需要訪問特定文件):

http://localhost:8080/external?resource=hello

2.6熱加載文件

web項(xiàng)目有一個特殊要求,就是希望程序在運(yùn)行器可以動態(tài)加載html文件。使用thymeleaf,我們可以自動實(shí)現(xiàn)。

在程序運(yùn)行期間,我們往/templates目錄下新增文件,在瀏覽器輸入地址,即可訪問新增的文件。

2.7熱更新文件

如果已經(jīng)添加的html文件,需要在程序運(yùn)行期間修改內(nèi)容呢?thymeleaf同樣也支持。只需修改application.properties文件

spring.thymeleaf.cache=false

相關(guān)代碼可以調(diào)試AbstractCachingViewResolver類,由圖可知,如果spring.thymeleaf.cache設(shè)置為true,則默認(rèn)緩存數(shù)量為1024個文件。

為false的話,則不緩存,每次都重新創(chuàng)建View,因此,每次加載(不管有沒有修改)都是創(chuàng)建新的文件。

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • idea中一鍵自動生成序列化serialVersionUID方式

    idea中一鍵自動生成序列化serialVersionUID方式

    這篇文章主要介紹了idea中一鍵自動生成序列化serialVersionUID方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • java調(diào)用Restful接口的三種方法

    java調(diào)用Restful接口的三種方法

    本文主要介紹了java調(diào)用Restful接口的三種方法,主要包括HttpURLConnection實(shí)現(xiàn),HttpClient實(shí)現(xiàn)和Spring的RestTemplate,具有一定的參考,感興趣的可以了解一下    
    2021-08-08
  • 全面解析@InsertProvider執(zhí)行原理

    全面解析@InsertProvider執(zhí)行原理

    這篇文章主要介紹了全面解析@InsertProvider執(zhí)行原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Spring Boot 集成 MongoDB Template 的步驟詳解

    Spring Boot 集成 MongoDB Template 的步驟

    MongoDB 是一個流行的 NoSQL 數(shù)據(jù)庫,適合處理大量非結(jié)構(gòu)化數(shù)據(jù),本篇文章將詳細(xì)介紹如何在 Spring Boot 3.4.0 中集成 MongoDB Template,從零開始構(gòu)建一個簡單的應(yīng)用程序,感興趣的朋友一起看看吧
    2024-12-12
  • 解析如何用兩個棧來實(shí)現(xiàn)隊(duì)列的方法

    解析如何用兩個棧來實(shí)現(xiàn)隊(duì)列的方法

    本篇文章是對如何用兩個棧實(shí)現(xiàn)隊(duì)列的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 從try-with-resources到ThreadLocal,優(yōu)化你的代碼編寫方式

    從try-with-resources到ThreadLocal,優(yōu)化你的代碼編寫方式

    這篇文章主要為大家介紹了從try-with-resources到ThreadLocal,優(yōu)化代碼的編寫方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • IDEA如何導(dǎo)入已有Maven項(xiàng)目

    IDEA如何導(dǎo)入已有Maven項(xiàng)目

    導(dǎo)入Maven項(xiàng)目到IDEA時,經(jīng)常遇到問題,本文記錄正確步驟,首先創(chuàng)建空項(xiàng)目,然后選擇Import Module from external model并選擇Maven,勾選所需profiles和Maven項(xiàng)目,最后設(shè)置Project SDK,這樣配置后,項(xiàng)目結(jié)構(gòu)將符合預(yù)期,僅顯示一個Module
    2024-11-11
  • spring boot整合shiro安全框架過程解析

    spring boot整合shiro安全框架過程解析

    這篇文章主要介紹了spring boot整合shiro安全框架過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Mybatis中foreach標(biāo)簽帶來的空格\換行\(zhòng)回車問題及解決方案

    Mybatis中foreach標(biāo)簽帶來的空格\換行\(zhòng)回車問題及解決方案

    這篇文章主要介紹了解決Mybatis中foreach標(biāo)簽帶來的空格,換行,回車問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Java中的Semaphore信號量簡單使用代碼實(shí)例

    Java中的Semaphore信號量簡單使用代碼實(shí)例

    這篇文章主要介紹了Java中的Semaphore信號量簡單使用代碼實(shí)例,Semaphore是用來保護(hù)一個或者多個共享資源的訪問,Semaphore內(nèi)部維護(hù)了一個計數(shù)器,其值為可以訪問的共享資源的個數(shù),一個線程要訪問共享資源,需要的朋友可以參考下
    2023-12-12

最新評論

宁远县| 绥江县| 益阳市| 尚义县| 温州市| 伊春市| 喀喇沁旗| 松阳县| 阿尔山市| 九寨沟县| 黄冈市| 南城县| 太康县| 玉环县| 余姚市| 华宁县| 兰溪市| 广平县| 柳州市| 江西省| 平泉县| 博白县| 玉山县| 宝山区| 镇安县| 汉沽区| 谷城县| 西贡区| 萍乡市| 饶平县| 布尔津县| 荆门市| 建水县| 南城县| 册亨县| 柳林县| 辰溪县| 波密县| 宁夏| 科技| 日照市|