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

SpringBoot自帶模板引擎Thymeleaf使用示例詳解

 更新時(shí)間:2023年12月11日 11:22:18   作者:會(huì)洗碗的CV工程師  
Thymeleaf是一款用于渲染XML/HTML5內(nèi)容的模板引擎,類似JSP,它可以輕易的與SpringMVC等Web框架進(jìn)行集成作為Web應(yīng)用的模板引擎,本文給大家介紹SpringBoot自帶模板引擎Thymeleaf使用示例,感興趣的朋友一起看看吧

前言

        Thymeleaf是一款用于渲染XML/HTML5內(nèi)容的模板引擎,類似JSP。它可以輕易的與SpringMVC等Web框架進(jìn)行集成作為Web應(yīng)用的模板引擎。在SpringBoot中推薦使用Thymeleaf編寫(xiě)動(dòng)態(tài)頁(yè)
面。
        Thymeleaf最大的特點(diǎn)是能夠直接在瀏覽器中打開(kāi)并正確顯示模板頁(yè)面,而不需要啟動(dòng)整個(gè)Web應(yīng)用。Thymeleaf在有網(wǎng)絡(luò)和無(wú)網(wǎng)絡(luò)的環(huán)境下皆可運(yùn)行,它即可以讓美工在瀏覽器查看頁(yè)面的靜態(tài)效果,也可以讓程序員在服務(wù)器查看帶數(shù)據(jù)的動(dòng)態(tài)頁(yè)面效果。沒(méi)有數(shù)據(jù)時(shí),Thymeleaf的模板可以靜態(tài)地運(yùn)行;當(dāng)有數(shù)據(jù)返回到頁(yè)面時(shí),Thymeleaf標(biāo)簽會(huì)動(dòng)態(tài)地替換掉靜態(tài)內(nèi)容,使頁(yè)面動(dòng)態(tài)顯示。

引入Thymeleaf起步依賴需要再pom.xml添加以下代碼

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

一、SpringBoot靜態(tài)資源相關(guān)目錄

SpringBoot項(xiàng)目中沒(méi)有WebApp目錄,只有src目錄。在src/main/resources 下面有 static 和 templates 兩個(gè)文件夾。SpringBoot默認(rèn)在static 目錄中存放靜態(tài)資源,而 templates 中放動(dòng)態(tài)頁(yè)面。
static目錄
SpringBoot通過(guò) /resources/static 目錄訪問(wèn)靜態(tài)資源

除了 /resources/static 目錄,SpringBoot還會(huì)掃描以下位置的靜態(tài)資源:

  • /resources/META‐INF/resources/
  • /resources/resources/
  • /resources/public/

templates目錄
在SpringBoot中不推薦使用JSP作為動(dòng)態(tài)頁(yè)面,而是默認(rèn)使用Thymeleaf編寫(xiě)動(dòng)態(tài)頁(yè)面。templates目錄是存放Thymeleaf頁(yè)面的目錄。

二、變量輸出

2.1 在templates目錄下創(chuàng)建視圖index.html

要想使用thymeleaf則必須引入他的命名空間http://www.thymeleaf.org

<!DOCTYPE html>
<!-- 引入thymeleaf命名空間,方便使用thymeleaf屬性 -->
<html lang="en"
    xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>thymeleaf入門</title>
</head>
<body>
    <!-- 靜態(tài)頁(yè)面顯示程序員,動(dòng)態(tài)頁(yè)面使用后端傳來(lái)的msg數(shù)據(jù)代替 -->
    <h1 th:text="${msg}">程序員</h1>
</body>

2.2 創(chuàng)建對(duì)應(yīng)的Controller

因?yàn)閠emplate中的html文件不能直接訪問(wèn),需要編寫(xiě)Controller跳轉(zhuǎn)到頁(yè)面中。代碼如下:

@Controller
public class PageController {
  // 頁(yè)面跳轉(zhuǎn)
  @GetMapping("/show")
  public String showPage(Model model){
    model.addAttribute("msg","Hello
Thymeleaf");
    return "index";
 }
}

2.3 在視圖展示model中的值

<span th:text="${msg}"></span>
<hr/>
<input th:value="${msg}">

運(yùn)行結(jié)果:

果然返回成功。OK,讓我們進(jìn)行下一項(xiàng)的測(cè)試

三、操作字符串和時(shí)間

3.1 操作字符串

Thymeleaf提供了一些內(nèi)置對(duì)象可以操作數(shù)據(jù),內(nèi)置對(duì)象可直接在模板中使用,這些對(duì)象是以#引用的,操作字符串的內(nèi)置對(duì)象為strings。

strings常用方法
方法說(shuō)明
${#strings.isEmpty(key)}判斷字符串是否為空,如果為空返回true,否則返回false
${#strings.contains(msg,'T')}判斷字符串是否包含指定的子串,如果包含返回true,否則返回false
${#strings.startsWith(msg,'a')}判斷當(dāng)前字符串是否以子串開(kāi)頭,如果是返回true,否則返回false
${#strings.endsWith(msg,'a')}判斷當(dāng)前字符串是否以子串結(jié)尾,如果是返回true,否則返回false
${#strings.length(msg)}返回字符串的長(zhǎng)度
${#strings.indexOf(msg,'h')}查找子串的位置,并返回該子串的下標(biāo),如果沒(méi)找到則返回-1
${#strings.substring(msg,2,5)}截取子串,用法與JDK的 subString 方法相同
${#strings.toUpperCase(msg)}字符串轉(zhuǎn)大寫(xiě)
${#strings.toLowerCase(msg)}字符串轉(zhuǎn)小寫(xiě)

使用方法

<span th:text="${#strings.isEmpty(msg)}"></span><hr>
<span th:text="${#strings.contains(msg,'s')}"></span><hr>
<span th:text="${#strings.length(msg)}"></span><hr>

運(yùn)行結(jié)果

3.2 操作時(shí)間

操作時(shí)間的內(nèi)置對(duì)象為dates

內(nèi)置對(duì)象dates常用方法
方法說(shuō)明
${#dates.format(key)}格式化日期,默認(rèn)的以瀏覽器默認(rèn)語(yǔ)言為格式化標(biāo)準(zhǔn)
${#dates.format(key,'yyyy/MM/dd')}按照自定義的格式做日期轉(zhuǎn)換
${#dates.year(key)}取年
${#dates.month(key)}取月
${#dates.day(key)}取日

準(zhǔn)備數(shù)據(jù)

model.addAttribute("date",new Date());

使用示例

<span th:text="${#dates.format(date,'YYYY-MM-dd')}"></span><hr>
<span th:text="${#dates.year(date)}"></span><hr>
<span th:text="${#dates.month(date)}"></span><hr>
<span th:text="${#dates.day(date)}"></span><hr>

運(yùn)行結(jié)果 

也是沒(méi)有什么問(wèn)題的 

到此這篇關(guān)于SpringBoot自帶模板引擎Thymeleaf使用詳解①的文章就介紹到這了,更多相關(guān)SpringBoot Thymeleaf 模板引擎內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 從HelloWorld和文檔注釋開(kāi)始入門Java編程

    從HelloWorld和文檔注釋開(kāi)始入門Java編程

    這篇文章主要介紹了從HelloWorld和文檔注釋開(kāi)始入門Java編程,涉及到Javadoc工具的使用,需要的朋友可以參考下
    2015-10-10
  • 使用fileupload組件實(shí)現(xiàn)文件上傳功能

    使用fileupload組件實(shí)現(xiàn)文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了使用fileupload實(shí)現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Spring Boot(二)之web綜合開(kāi)發(fā)

    Spring Boot(二)之web綜合開(kāi)發(fā)

    本篇文章為大家介紹spring boot的其它特性(有些未必是spring boot體系桟的功能,但是是spring特別推薦的一些開(kāi)源技術(shù)本文也會(huì)介紹),對(duì)了這里只是一個(gè)大概的介紹,特別詳細(xì)的使用我們會(huì)在其它的文章中來(lái)展開(kāi)說(shuō)明
    2017-05-05
  • 在logback.xml中自定義動(dòng)態(tài)屬性的方法

    在logback.xml中自定義動(dòng)態(tài)屬性的方法

    這篇文章主要介紹了在logback.xml中自定義動(dòng)態(tài)屬性的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Java實(shí)用小技能之快速創(chuàng)建List常用幾種方式

    Java實(shí)用小技能之快速創(chuàng)建List常用幾種方式

    java集合可以說(shuō)無(wú)論是面試、刷題還是工作中都是非常常用的,下面這篇文章主要給大家介紹了關(guān)于Java實(shí)用小技能之快速創(chuàng)建List常用的幾種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • SpringBoot項(xiàng)目集成Smart-Doc的實(shí)戰(zhàn)指南

    SpringBoot項(xiàng)目集成Smart-Doc的實(shí)戰(zhàn)指南

    Smart-Doc是一款強(qiáng)大的基于Java的API文檔生成工具,它通過(guò)對(duì)接口源代碼進(jìn)行分析來(lái)生成全面而準(zhǔn)確的文檔,完全不需要對(duì)代碼進(jìn)行任何注入,下面我們看看如何在SpringBoot項(xiàng)目中集成Smart-Doc吧
    2025-10-10
  • IDEA 卡住buid(編譯)不動(dòng)的解決辦法

    IDEA 卡住buid(編譯)不動(dòng)的解決辦法

    這篇文章主要介紹了IDEA 卡住buid(編譯)不動(dòng)的解決辦法(適用于maven和gradle)及定位思路,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 使用Java拼接長(zhǎng)圖/網(wǎng)格圖的避坑指南

    使用Java拼接長(zhǎng)圖/網(wǎng)格圖的避坑指南

    在日常開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到需要將多張圖片拼接成一張大圖的場(chǎng)景,今天就來(lái)盤點(diǎn)一下 Java 圖片拼接中最容易踩的 4 個(gè)大坑,以及完美的避坑指南,需要的朋友可以參考下
    2026-04-04
  • java調(diào)用chatgpt接口來(lái)實(shí)現(xiàn)專屬于自己的人工智能助手

    java調(diào)用chatgpt接口來(lái)實(shí)現(xiàn)專屬于自己的人工智能助手

    這篇文章主要介紹了用java來(lái)調(diào)用chatget的接口,實(shí)現(xiàn)自己的聊天機(jī)器人,對(duì)人工智能感興趣的小伙伴可以參考閱讀
    2023-03-03
  • spring boot整合CAS配置詳解

    spring boot整合CAS配置詳解

    這篇文章主要介紹了spring boot整合CAS配置詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05

最新評(píng)論

垣曲县| 辽宁省| 丹巴县| 汤原县| 河间市| 甘泉县| 汝城县| 手机| 兴宁市| 肥乡县| 赞皇县| 闽侯县| 崇州市| 红河县| 宜兴市| 凤阳县| 寿宁县| 丹阳市| 阳信县| 亳州市| 江山市| 云安县| 永泰县| 宁河县| 敦煌市| 怀安县| 许昌市| 光山县| 和田县| 阳山县| 娱乐| 三亚市| 广昌县| 阿巴嘎旗| 平乡县| 荆门市| 雅安市| 香河县| 明光市| 高淳县| 哈尔滨市|