欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間: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ù)且易于測(cè)試的動(dòng)態(tài)Web應(yīng)用程序。它適用于與Spring框架集成,并且可以與Spring MVC或Spring Boot等框架一起使用。

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

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

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

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

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

假設(shè)Thymeleaf目錄下有很多文件,我們希望客戶端能通過參數(shù)來選擇加載某個(gè)文件,那么我們可以修改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)目有一個(gè)特殊要求,就是希望程序在運(yùn)行器可以動(dòng)態(tài)加載html文件。使用thymeleaf,我們可以自動(dòng)實(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個(gè)文件。

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

總結(jié)

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

相關(guān)文章

  • 淺析Disruptor高性能線程消息傳遞并發(fā)框架

    淺析Disruptor高性能線程消息傳遞并發(fā)框架

    這篇文章主要為大家介紹了Disruptor高性能線程消息傳遞并發(fā)框架的簡(jiǎn)單分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Java使用責(zé)任鏈模式處理學(xué)生請(qǐng)假問題詳解

    Java使用責(zé)任鏈模式處理學(xué)生請(qǐng)假問題詳解

    這篇文章主要介紹了Java使用責(zé)任鏈模式處理學(xué)生請(qǐng)假問題,結(jié)合實(shí)例形式詳細(xì)分析了責(zé)任鏈模式的概念、原理及Java使用責(zé)任鏈模式處理學(xué)生請(qǐng)假問題的相關(guān)步驟、操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-04-04
  • Java使用云片API發(fā)送短信驗(yàn)證碼

    Java使用云片API發(fā)送短信驗(yàn)證碼

    這篇文章主要介紹了Java使用云片API發(fā)送短信驗(yàn)證碼,主要用的是Java實(shí)現(xiàn)短信驗(yàn)證碼。需要的朋友可以參考下
    2017-02-02
  • 身份證號(hào)碼驗(yàn)證算法深入研究和Java實(shí)現(xiàn)

    身份證號(hào)碼驗(yàn)證算法深入研究和Java實(shí)現(xiàn)

    這篇文章主要介紹了身份證號(hào)碼驗(yàn)證算法深入研究和Java實(shí)現(xiàn),本文講解了18身份證號(hào)碼的結(jié)構(gòu)、根據(jù)17位數(shù)字本體碼獲取最后一位校驗(yàn)碼程序?qū)嵗葍?nèi)容,需要的朋友可以參考下
    2015-06-06
  • SpringBoot項(xiàng)目找不到接口報(bào)404錯(cuò)誤的解決辦法

    SpringBoot項(xiàng)目找不到接口報(bào)404錯(cuò)誤的解決辦法

    寫了一個(gè)簡(jiǎn)單的springboot項(xiàng)目,在啟動(dòng)的時(shí)候idea未報(bào)錯(cuò),瀏覽器訪問接口時(shí)報(bào)404的錯(cuò)誤,所以本文給大家介紹了SpringBoot項(xiàng)目找不到接口報(bào)404錯(cuò)誤的解決辦法,文中有相關(guān)的圖文供大家參考,需要的朋友可以參考下
    2024-12-12
  • SpringBoot實(shí)現(xiàn)網(wǎng)頁消息推送的5種方法小結(jié)

    SpringBoot實(shí)現(xiàn)網(wǎng)頁消息推送的5種方法小結(jié)

    項(xiàng)目開發(fā)中,實(shí)時(shí)消息推送已成為提升用戶體驗(yàn)的關(guān)鍵技術(shù),本文將詳細(xì)介紹SpringBoot中實(shí)現(xiàn)網(wǎng)頁消息推送的幾種主流方案,希望對(duì)大家有所幫助
    2025-03-03
  • SpringSecurity+Redis認(rèn)證過程小結(jié)

    SpringSecurity+Redis認(rèn)證過程小結(jié)

    這篇文章主要介紹了SpringSecurity+Redis認(rèn)證過程小結(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • SpringBoot如何使用applicationContext.xml配置文件

    SpringBoot如何使用applicationContext.xml配置文件

    這篇文章主要介紹了SpringBoot使用applicationContext.xml配置文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java實(shí)現(xiàn)文件的分割與合并

    Java實(shí)現(xiàn)文件的分割與合并

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)文件的分割與合并,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • springboot整合nacos的入門Demo及Nacos安裝部署

    springboot整合nacos的入門Demo及Nacos安裝部署

    Nacos?提供了一組簡(jiǎn)單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理,Nacos?致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù),這篇文章主要介紹了springboot整合nacos的入門Demo,需要的朋友可以參考下
    2024-01-01

最新評(píng)論