Thymeleaf对象的使用:字符串对象

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.bootgroupId>
            <artifactId>spring-boot-starter-thymeleafartifactId>
        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;

@Controller
public 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('hello')}">div>

浏览器访问:http://localhost:8080
页面输出:

调用参数的toString方法返回字符串
hello
返回字符串的长度
5
判断是否为空或null
false
true
true
为空或null时设置默认值
hello
b
c
判断是否包含(区分大小写)
true
false
判断是否包含(忽略大小写)
true
true
判断开头和结尾是否包含(区分大小写)
true
false
false
true
获取字符串的索引(如果不存在返回-1)
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方法对参数进行编码
<span>hello</span>

 

你可能感兴趣的:(Thymeleaf对象的使用:字符串对象)