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

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

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

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

1.Thymeleaf介紹

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

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

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

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

2.springboot使用thymeleaf

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

2.1.引入spring-boot-starter-thymeleaf依賴(lài)

<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請(qǐng)求,并返回"index"字符串。這意味著它將返回名為index.html的Thymeleaf模板。

現(xiàn)在,創(chuàng)建一個(gè)名為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)建簡(jiǎn)易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.瀏覽器訪問(wèn)

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

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

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

@Controller
public class H5Controller {

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

}

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

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

2.6熱加載文件

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

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

2.7熱更新文件

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

spring.thymeleaf.cache=false

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

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

總結(jié)

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

相關(guān)文章

  • idea中一鍵自動(dòng)生成序列化serialVersionUID方式

    idea中一鍵自動(dòng)生成序列化serialVersionUID方式

    這篇文章主要介紹了idea中一鍵自動(dòng)生成序列化serialVersionUID方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    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í)行原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Spring Boot 集成 MongoDB Template 的步驟詳解

    Spring Boot 集成 MongoDB Template 的步驟

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

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

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

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

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

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

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

    spring boot整合shiro安全框架過(guò)程解析

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

    Mybatis中foreach標(biāo)簽帶來(lái)的空格\換行\(zhòng)回車(chē)問(wèn)題及解決方案

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

    Java中的Semaphore信號(hào)量簡(jiǎn)單使用代碼實(shí)例

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

最新評(píng)論

泰兴市| 鹤岗市| 乌拉特后旗| 长兴县| 合肥市| 吉木萨尔县| 奉新县| 大庆市| 宁陕县| 凌源市| 黑龙江省| 遵义县| 荔浦县| 东山县| 舒兰市| 怀安县| 天全县| 闵行区| 枣阳市| 榕江县| 峨边| 于都县| 平昌县| 台南市| 榆中县| 盘山县| 六安市| 绥江县| 邻水| 固始县| 铁岭县| 安康市| 柘城县| 乌苏市| 大化| 广元市| 蓬莱市| 麻阳| 葫芦岛市| 通州区| 右玉县|