Springboot Thymeleaf字符串對(duì)象實(shí)例解析
Thymeleaf主要使用 org.thymeleaf.expression.Strings 類處理字符串,在模板中使用 #strings 對(duì)象來處理字符串。
開發(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頁面后刷新瀏覽器能馬上看到結(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> 返回字符串的長度 <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ū)分大小寫) <div th:text="${#strings.contains('hello','he')}"></div> <div th:text="${#strings.contains('hello','HE')}"></div> 判斷是否包含(忽略大小寫) <div th:text="${#strings.containsIgnoreCase('hello','he')}"></div> <div th:text="${#strings.containsIgnoreCase('hello','HE')}"></div> 判斷開頭和結(jié)尾是否包含(區(qū)分大小寫) <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> 指定開始和結(jié)束索引,截取字符串(如果索引超過字符串長度,則拋出異常) <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)換為大寫 <div th:text="${#strings.toUpperCase('hello')}"></div> 轉(zhuǎn)換為小寫 <div th:text="${#strings.toLowerCase('HELLO')}"></div> 首字母轉(zhuǎn)換為大寫 <div th:text="${#strings.capitalize('hello')}"></div> 首字母轉(zhuǎn)換為小寫 <div th:text="${#strings.unCapitalize('heLLo')}"></div> 每個(gè)單詞的首字母轉(zhuǎn)為大寫 <div th:text="${#strings.capitalizeWords('hello world')}"></div> 根據(jù)分隔符將每個(gè)單詞的首字母轉(zhuǎn)換為大寫 <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> 字符串截取指定長度(最小為3),后面加... <div th:text="${#strings.abbreviate('hello,world', 8)}"></div> 產(chǎn)生指定位數(shù)的隨機(jī)字母數(shù)字,范圍為大寫英文字母加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>
瀏覽器訪問:http://localhost:8080
頁面輸出:
調(diào)用參數(shù)的toString方法返回字符串 hello 返回字符串的長度 判斷是否為空或null false true true 為空或null時(shí)設(shè)置默認(rèn)值 hello b c 判斷是否包含(區(qū)分大小寫) true false 判斷是否包含(忽略大小寫) true true 判斷開頭和結(jié)尾是否包含(區(qū)分大小寫) true false false true 獲取字符串的索引(如果不存在返回-1) -1 指定開始和結(jié)束索引,截取字符串(如果索引超過字符串長度,則拋出異常) el 指定從某個(gè)字符串后面截取字符串(如果不包含則返回空字符串) llo 指定從某個(gè)字符串前面截取字符串(如果不包含則返回空字符串) h 替換字符串 hallo 轉(zhuǎn)換為大寫 HELLO 轉(zhuǎn)換為小寫 hello 首字母轉(zhuǎn)換為大寫 Hello 首字母轉(zhuǎn)換為小寫 heLLo 每個(gè)單詞的首字母轉(zhuǎn)為大寫 Hello World 根據(jù)分隔符將每個(gè)單詞的首字母轉(zhuǎn)換為大寫 Hello-World 字符串前面追加 hello world 字符串后面追加 hello world 拼接字符串(參數(shù)個(gè)數(shù)不限) hello world ! 從第二個(gè)參數(shù)之后拼接字符串,如果參數(shù)為null,則用第一個(gè)參數(shù)替代 hello*world 刪除空白 hello 字符串截取指定長度(最小為3),后面加... hello... 產(chǎn)生指定位數(shù)的隨機(jī)字母數(shù)字,范圍為大寫英文字母加0-9數(shù)字 PBAT 調(diào)用HtmlEscape類的escapeHtml4Xml方法對(duì)參數(shù)進(jìn)行編碼 <span>hello</span>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java?ArrayList實(shí)現(xiàn)刪除指定位置的元素
目標(biāo):list中有0到39共40個(gè)元素,刪除其中索引是10、20、30的元素。本文為大家整理了三個(gè)不同的方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-01-01java反射拼接方法名動(dòng)態(tài)執(zhí)行方法實(shí)例
下面小編就為大家?guī)硪黄猨ava反射拼接方法名動(dòng)態(tài)執(zhí)行方法實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08Windows10系統(tǒng)下JDK1.8環(huán)境變量的配置
今天帶大家學(xué)習(xí)在Windows10系統(tǒng)下怎么配置JDK1.8環(huán)境變量,文中有非常詳細(xì)的安裝及配置教程,對(duì)正在學(xué)習(xí)的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05Java多線程、進(jìn)度條實(shí)現(xiàn)賽馬實(shí)驗(yàn)的示例代碼
這篇文章主要介紹了Java多線程、進(jìn)度條實(shí)現(xiàn)賽馬實(shí)驗(yàn)的示例代碼,代碼簡單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11Spring中的StopWatch記錄操作時(shí)間代碼實(shí)例
這篇文章主要介紹了Spring中的StopWatch記錄操作時(shí)間代碼實(shí)例,spring-framework提供的一個(gè)StopWatch類可以做類似任務(wù)執(zhí)行時(shí)間控制,也就是封裝了一個(gè)對(duì)開始時(shí)間,結(jié)束時(shí)間記錄操作的Java類,需要的朋友可以參考下2023-11-11ElasticSearch學(xué)習(xí)之文檔API相關(guān)操作
這篇文章主要為大家介紹了ElasticSearch學(xué)習(xí)之文檔API相關(guān)操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01