Springboot Thymeleaf字符串對(duì)象實(shí)例解析
Thymeleaf主要使用 org.thymeleaf.expression.Strings 類處理字符串,在模板中使用 #strings 對(duì)象來(lái)處理字符串。
開(kāi)發(fā)環(huán)境:IntelliJ IDEA 2019.2.2
Spring Boot版本:2.1.8
新建一個(gè)名稱為demo的Spring Boot項(xiàng)目。
1、pom.xml
加入Thymeleaf依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2、src/main/resources/application.yml
設(shè)置模板緩存為false,這樣修改html頁(yè)面后刷新瀏覽器能馬上看到結(jié)果
spring:
thymeleaf:
cache: false
3、src/main/java/com/example/demo/TestController.java
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TestController {
@RequestMapping("/")
public String test(){
return "test";
}
}
4、src/main/resources/templates/test.html
調(diào)用參數(shù)的toString方法返回字符串
<div th:text="${#strings.toString('hello')}"></div>
返回字符串的長(zhǎng)度
<div th:text="${#strings.length('hello')}"></div>
判斷是否為空或null
<div th:text="${#strings.isEmpty('hello')}"></div>
<div th:text="${#strings.isEmpty('')}"></div>
<div th:text="${#strings.isEmpty(null)}"></div>
為空或null時(shí)設(shè)置默認(rèn)值
<div th:text="${#strings.defaultString('hello','a')}"></div>
<div th:text="${#strings.defaultString('','b')}"></div>
<div th:text="${#strings.defaultString(null,'c')}"></div>
判斷是否包含(區(qū)分大小寫(xiě))
<div th:text="${#strings.contains('hello','he')}"></div>
<div th:text="${#strings.contains('hello','HE')}"></div>
判斷是否包含(忽略大小寫(xiě))
<div th:text="${#strings.containsIgnoreCase('hello','he')}"></div>
<div th:text="${#strings.containsIgnoreCase('hello','HE')}"></div>
判斷開(kāi)頭和結(jié)尾是否包含(區(qū)分大小寫(xiě))
<div th:text="${#strings.startsWith('hello','he')}"></div>
<div th:text="${#strings.startsWith('hello','HE')}"></div>
<div th:text="${#strings.startsWith('hello','el')}"></div>
<div th:text="${#strings.endsWith('hello','lo')}"></div>
獲取字符串的索引(如果不存在返回-1)
<div th:text="${#strings.indexOf('hello','el')}"></div>
<div th:text="${#strings.indexOf('hello','ee')}"></div>
指定開(kāi)始和結(jié)束索引,截取字符串(如果索引超過(guò)字符串長(zhǎng)度,則拋出異常)
<div th:text="${#strings.substring('hello',1,3)}"></div>
指定從某個(gè)字符串后面截取字符串(如果不包含則返回空字符串)
<div th:text="${#strings.substringAfter('hello','e')}"></div>
<div th:text="${#strings.substringAfter('hello','ee')}"></div>
指定從某個(gè)字符串前面截取字符串(如果不包含則返回空字符串)
<div th:text="${#strings.substringBefore('hello','e')}"></div>
<div th:text="${#strings.substringBefore('hello','ee')}"></div>
替換字符串
<div th:text="${#strings.replace('hello','e','a')}"></div>
轉(zhuǎn)換為大寫(xiě)
<div th:text="${#strings.toUpperCase('hello')}"></div>
轉(zhuǎn)換為小寫(xiě)
<div th:text="${#strings.toLowerCase('HELLO')}"></div>
首字母轉(zhuǎn)換為大寫(xiě)
<div th:text="${#strings.capitalize('hello')}"></div>
首字母轉(zhuǎn)換為小寫(xiě)
<div th:text="${#strings.unCapitalize('heLLo')}"></div>
每個(gè)單詞的首字母轉(zhuǎn)為大寫(xiě)
<div th:text="${#strings.capitalizeWords('hello world')}"></div>
根據(jù)分隔符將每個(gè)單詞的首字母轉(zhuǎn)換為大寫(xiě)
<div th:text="${#strings.capitalizeWords('hello-world','-')}"></div>
字符串前面追加
<div th:text="${#strings.prepend('world','hello ')}"></div>
字符串后面追加
<div th:text="${#strings.append('hello',' world')}"></div>
拼接字符串(參數(shù)個(gè)數(shù)不限)
<div th:text="${#strings.concat('hello',' world',' !')}"></div>
從第二個(gè)參數(shù)之后拼接字符串,如果參數(shù)為null,則用第一個(gè)參數(shù)替代
<div th:text="${#strings.concatReplaceNulls('*','hello',null,'world')}"></div>
刪除空白
<div th:text="${#strings.trim(' hello ')}"></div>
字符串截取指定長(zhǎng)度(最小為3),后面加...
<div th:text="${#strings.abbreviate('hello,world', 8)}"></div>
產(chǎn)生指定位數(shù)的隨機(jī)字母數(shù)字,范圍為大寫(xiě)英文字母加0-9數(shù)字
<div th:text="${#strings.randomAlphanumeric(4)}"></div>
調(diào)用HtmlEscape類的escapeHtml4Xml方法對(duì)參數(shù)進(jìn)行編碼
<div th:text="${#strings.escapeXml('<span>hello</span>')}"></div>
瀏覽器訪問(wèn):http://localhost:8080
頁(yè)面輸出:
調(diào)用參數(shù)的toString方法返回字符串 hello 返回字符串的長(zhǎng)度 判斷是否為空或null false true true 為空或null時(shí)設(shè)置默認(rèn)值 hello b c 判斷是否包含(區(qū)分大小寫(xiě)) true false 判斷是否包含(忽略大小寫(xiě)) true true 判斷開(kāi)頭和結(jié)尾是否包含(區(qū)分大小寫(xiě)) true false false true 獲取字符串的索引(如果不存在返回-1) -1 指定開(kāi)始和結(jié)束索引,截取字符串(如果索引超過(guò)字符串長(zhǎng)度,則拋出異常) el 指定從某個(gè)字符串后面截取字符串(如果不包含則返回空字符串) llo 指定從某個(gè)字符串前面截取字符串(如果不包含則返回空字符串) h 替換字符串 hallo 轉(zhuǎn)換為大寫(xiě) HELLO 轉(zhuǎn)換為小寫(xiě) hello 首字母轉(zhuǎn)換為大寫(xiě) Hello 首字母轉(zhuǎn)換為小寫(xiě) heLLo 每個(gè)單詞的首字母轉(zhuǎn)為大寫(xiě) Hello World 根據(jù)分隔符將每個(gè)單詞的首字母轉(zhuǎn)換為大寫(xiě) Hello-World 字符串前面追加 hello world 字符串后面追加 hello world 拼接字符串(參數(shù)個(gè)數(shù)不限) hello world ! 從第二個(gè)參數(shù)之后拼接字符串,如果參數(shù)為null,則用第一個(gè)參數(shù)替代 hello*world 刪除空白 hello 字符串截取指定長(zhǎng)度(最小為3),后面加... hello... 產(chǎn)生指定位數(shù)的隨機(jī)字母數(shù)字,范圍為大寫(xiě)英文字母加0-9數(shù)字 PBAT 調(diào)用HtmlEscape類的escapeHtml4Xml方法對(duì)參數(shù)進(jìn)行編碼 <span>hello</span>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- springboot2.1.7整合thymeleaf代碼實(shí)例
- SpringBoot使用thymeleaf模板過(guò)程解析
- Spring Boot 2 Thymeleaf服務(wù)器端表單驗(yàn)證實(shí)現(xiàn)詳解
- Spring Boot集成Thymeleaf的方法
- Spring Boot 整合 Shiro+Thymeleaf過(guò)程解析
- Spring Boot Thymeleaf實(shí)現(xiàn)國(guó)際化的方法詳解
- SpringBoot引入Thymeleaf的實(shí)現(xiàn)方法
- SpringBoot thymeleaf eclipse熱部署方案操作步驟
相關(guān)文章
SpringBoot整合Redis實(shí)現(xiàn)刷票過(guò)濾功能
隨著互聯(lián)網(wǎng)的不斷發(fā)展,網(wǎng)站或APP的用戶流量增加,也衍生出了一些惡意刷量等問(wèn)題,給數(shù)據(jù)分析及運(yùn)營(yíng)帶來(lái)極大的困難,所以本文使用SpringBoot和Redis實(shí)現(xiàn)一個(gè)刷票過(guò)濾功能,需要的可以參考一下2023-06-06
Java 實(shí)戰(zhàn)項(xiàng)目錘煉之網(wǎng)上圖書(shū)館管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java+jsp+servlet+mysql+ajax實(shí)現(xiàn)一個(gè)網(wǎng)上圖書(shū)館管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11
Java實(shí)現(xiàn)狀態(tài)模式的示例代碼
狀態(tài)模式是一種行為型設(shè)計(jì)模式,允許對(duì)象根據(jù)其內(nèi)部狀態(tài)改變行為,本文主要介紹了Java實(shí)現(xiàn)狀態(tài)模式的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
Maven最佳實(shí)踐之一個(gè)好的parent依賴基礎(chǔ)
今天小編就為大家分享一篇關(guān)于Maven最佳實(shí)踐之一個(gè)好的parent依賴基礎(chǔ),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
SpringBoot整合Sa-Token實(shí)現(xiàn)登錄認(rèn)證的示例代碼
本文主要介紹了SpringBoot整合Sa-Token實(shí)現(xiàn)登錄認(rèn)證的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Java 8 lambda表達(dá)式引入詳解及實(shí)例
這篇文章主要介紹了Java 8 lambda表達(dá)式引入詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-05-05

