• 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.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;
    
    @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('<span>hello</span>')}"></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方法对参数进行编码
    &lt;span&gt;hello&lt;/span&gt;
  • 相关阅读:
    #include "stdafx.h" 错误?
    扩频技术
    求数组中只出现一次的数字(算法)
    1.3一摞烙饼的排序
    嵌套类
    企业级邮件服务软件推荐
    关于Linq To Sql中Detach方法和一个公共基类
    asp.net(c#) 将dbf转换为xls或wps,并将数据的列名改成中文;并判断本机是否安装office2003,2007和wps2007,2010
    一句代码解决IE8兼容问题(兼容性视图)
    asp.net(C#)套用模板操作Excel
  • 原文地址:https://www.cnblogs.com/gdjlc/p/11667892.html
Copyright © 2020-2023  润新知