Springboot Thymeleaf字符串对象实例解析

时间:2021-05-20

Thymeleaf主要使用 org.thymeleaf.expression.Strings 类处理字符串,在模板中使用 #strings 对象来处理字符串。

开发环境:IntelliJ IDEA 2019.2.2

Spring Boot版本:2.1.8

新建一个名称为demo的Spring Boot项目。

1、pom.xml

加入Thymeleaf依赖

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

2、src/main/resources/application.yml

设置模板缓存为false,这样修改html页面后刷新浏览器能马上看到结果

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;@Controllerpublic class TestController { @RequestMapping("/") public String test(){ return "test"; }}

4、src/main/resources/templates/test.html

调用参数的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时设置默认值<div th:text="${#strings.defaultString('hello','a')}"></div><div th:text="${#strings.defaultString('','b')}"></div><div th:text="${#strings.defaultString(null,'c')}"></div>判断是否包含(区分大小写)<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>判断开头和结尾是否包含(区分大小写)<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>指定开始和结束索引,截取字符串(如果索引超过字符串长度,则抛出异常)<div th:text="${#strings.substring('hello',1,3)}"></div>指定从某个字符串后面截取字符串(如果不包含则返回空字符串)<div th:text="${#strings.substringAfter('hello','e')}"></div><div th:text="${#strings.substringAfter('hello','ee')}"></div>指定从某个字符串前面截取字符串(如果不包含则返回空字符串)<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>转换为大写<div th:text="${#strings.toUpperCase('hello')}"></div>转换为小写<div th:text="${#strings.toLowerCase('HELLO')}"></div>首字母转换为大写<div th:text="${#strings.capitalize('hello')}"></div>首字母转换为小写<div th:text="${#strings.unCapitalize('heLLo')}"></div>每个单词的首字母转为大写<div th:text="${#strings.capitalizeWords('hello world')}"></div>根据分隔符将每个单词的首字母转换为大写<div th:text="${#strings.capitalizeWords('hello-world','-')}"></div>字符串前面追加<div th:text="${#strings.prepend('world','hello ')}"></div>字符串后面追加<div th:text="${#strings.append('hello',' world')}"></div>拼接字符串(参数个数不限)<div th:text="${#strings.concat('hello',' world',' !')}"></div>从第二个参数之后拼接字符串,如果参数为null,则用第一个参数替代<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>产生指定位数的随机字母数字,范围为大写英文字母加0-9数字<div th:text="${#strings.randomAlphanumeric(4)}"></div>调用HtmlEscape类的escapeHtml4Xml方法对参数进行编码<div th:text="${#strings.escapeXml('<span>hello</span>')}"></div>

浏览器访问:http://localhost:8080

页面输出:

调用参数的toString方法返回字符串hello返回字符串的长度判断是否为空或nullfalsetruetrue为空或null时设置默认值hellobc判断是否包含(区分大小写)truefalse判断是否包含(忽略大小写)truetrue判断开头和结尾是否包含(区分大小写)truefalsefalsetrue获取字符串的索引(如果不存在返回-1)-1指定开始和结束索引,截取字符串(如果索引超过字符串长度,则抛出异常)el指定从某个字符串后面截取字符串(如果不包含则返回空字符串)llo指定从某个字符串前面截取字符串(如果不包含则返回空字符串)h替换字符串hallo转换为大写HELLO转换为小写hello首字母转换为大写Hello首字母转换为小写heLLo每个单词的首字母转为大写Hello World根据分隔符将每个单词的首字母转换为大写Hello-World字符串前面追加hello world字符串后面追加hello world拼接字符串(参数个数不限)hello world !从第二个参数之后拼接字符串,如果参数为null,则用第一个参数替代hello*world删除空白hello字符串截取指定长度(最小为3),后面加...hello...产生指定位数的随机字母数字,范围为大写英文字母加0-9数字PBAT调用HtmlEscape类的escapeHtml4Xml方法对参数进行编码&lt;span&gt;hello&lt;/span&gt;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章