当前位置:网站首页>Thymeleaf 常用函数
Thymeleaf 常用函数
2022-07-05 14:10:00 【fengyehongWorld】
目录
- 一. #dates
- 二. #numbers
- 三. #strings
- `#strings.toString`
- `#strings.isEmpty`
- `#strings.defaultString`
- `#strings.contains`
- `#strings.containsIgnoreCase`
- `#strings.startsWith`
- `#strings.endsWith`
- `#strings.indexOf`
- `#strings.substring`
- `#strings.replace`
- `#strings.prepend`
- `#strings.append`
- `#strings.toUpperCase`
- `#strings.length`
- `#strings.trim`
- `#strings.abbreviate`
- 四. #objects
- 五. #bools
一. #dates
处理日期数据.生成,转换,获取日期的具体天数和年数。
#dates.createNow
生成当前的日期(相当于Java的new Date())
<span th:text="${#dates.createNow()}"></span>
<!--结果页面-->
<span>Sun May 16 09:38:33 CST 2021</span>
#dates.create
- 构造一个日期
<span th:text="${#dates.create('2019','05','31','10','18')}"></span>
<!--结果页面-->
<span>Fri May 31 10:18:00 CST 2019</span>
#dates.format
- 对日期进行格式化
- 对日期进行格式化的时候,日期一定要是
new Date()
类型,不能是字符串日期类型,否则会报错.
<span th:text="*{#dates.format(#dates.createNow())}"></span>
<!--结果页面-->
<span>2021年5月16日 上午09时40分46秒</span>
- 按照指定格式对日期进行格式化
<span th:text="*{#dates.format(#dates.createNow(), 'yyyy/MM/dd HH:mm')}"></span>
<!--结果页面-->
<span>2021/05/16 09:43</span>
<span th:text="*{#dates.format(#dates.createNow(), 'yyyy年MM月dd日 HH:mm')}"></span>
<!--结果页面-->
<span>2021年05月16日 09:43</span>
#dates.year
- 获取年
<span th:text="*{#dates.year(#dates.createNow())}"></span>
<!--结果页面-->
<span>2021</span>
#dates.month
- 获取月份(使用内联的方式)
<span>[[*{#dates.month(#dates.createNow())}]]</span>
<!--结果页面-->
<span>5</span>
#dates.monthName
<span th:text="*{#dates.monthName(#dates.createNow())}"></span>
<!--结果页面-->
<span>五月</span>
#dates.monthNameShort
<span th:text="*{#dates.monthNameShort(#dates.createNow())}"></span>
<!--结果页面-->
<span>五月</span>
#dates.day
- 获取日期
<span th:text="*{#dates.day(#dates.createNow())}"></span>
<!--结果页面-->
<span>30</span>
#dates.dayOfWeek
获取本周的第几天(外国的情况,周日是本周的第一天)
<span th:text="*{#dates.dayOfWeek(#dates.createNow())}"></span>
<!--结果页面-->
<span>1</span>
#dates.dayOfWeekName
<span th:text="*{#dates.dayOfWeekName(#dates.createNow())}"></span>
<!--结果页面-->
<span>星期日</span>
#dates.dayOfWeekNameShort
<span th:text="*{#dates.dayOfWeekNameShort(#dates.createNow())}"></span>
<!--结果页面-->
<span>星期日</span>
#dates.hour
- 获取当前的小时
<span th:text="*{#dates.hour(#dates.createNow())}"></span>
<!--结果页面-->
<span>10</span>
#dates.minute
- 获取当前的分钟
<span th:text="*{#dates.minute(#dates.createNow())}"></span>
<!--结果页面-->
<span>6</span>
#dates.second
- 获取当前的秒
<span th:text="*{#dates.second(#dates.createNow())}"></span>
<!--结果页面-->
<span>12</span>
#dates.millisecond
- 获取当前的毫秒数
<span th:text="*{#dates.millisecond(#dates.createNow())}"></span>
<!--结果页面-->
<span>221</span>
二. #numbers
处理数字数据的转换
- 对不够位数的数字进行补0(formatInteger)
- 设置千位分隔符(formatInteger)
- 精确小数点(formatDecimal)
- 设置百分号(formatPercent)
- 生成数组(sequence)
#numbers.formatInteger
- 对不够位数的数字进行补0
<p th:text="${#numbers.formatInteger('123',4)}"></p> // 0123
<p th:text="${#numbers.formatInteger('123',2)}"></p> // 123
- 设置千位分隔符
.
<p th:text="${#numbers.formatInteger('1000',2,'POINT')}"></p> // 1.000
<p th:text="${#numbers.formatInteger('1000',6,'POINT')}"></p> // 001.000
<p th:text="${#numbers.formatInteger('1000',7,'POINT')}"></p> // 0.001.000
设置千位分隔符,
<p th:text="${#numbers.formatInteger('1000', 2, 'COMMA')}"></p> // 1,000
<div th:text="*{#numbers.formatInteger('1000', 0, 'COMMA')}"></div> // 1,000
设置千位分隔符为空白
<p th:text="${#numbers.formatInteger('1000', 2, 'WHITESPACE')}"></p> // 1 000
#numbers.formatDecimal
精确小数点
<p th:text="${#numbers.formatDecimal('10.123', 3, 2)}"></p> // 010.12
#numbers.formatCurrency
钱显示符号
<p th:text="${#numbers.formatCurrency('1000')}"></p> // ¥1,000.00
#numbers.formatPercent
百分比操作
<p th:text="${#numbers.formatPercent('0.2',2, 4)}"></p> // 20.0000%
<p th:text="${#numbers.formatPercent('0.2',3, 2)}"></p> // 020.00%
三. #strings
- 字符串转换(toString)
- 检查字符串是否为空(isEmpty)
- 字符串是为空替换操作(defaultString)
- 检查字符串中是否包含某个字符串(contains containsIgnoreCase)
- 检查字符串是以片段开头还是结尾(startsWith endsWith)
- 截取(substring substringAfter)
- 替换(replace)
- 追加(prepend append)
- 变更大小写(toUpperCase toLowerCase)
- 拆分和组合字符串(arrayJoin arraySplit)
- 去空格(trim)
- 缩写文本(abbreviate)
- 字符串连接(concat)
#strings.toString
// java代码
Object object = "123";
<p th:text="${#strings.toString(object)}"></p>
<p>123</p>
#strings.isEmpty
String name = null;
<p th:text="${#strings.isEmpty(name)}"></p>
<p>true</p>
#strings.defaultString
String text = null;
String text1 = "123";
<p th:text="${#strings.defaultString(text,'该值为null')}"></p>
<p>该值为null</p>
<p th:text="${#strings.defaultString(text1,'该值为null')}"></p>
<p>123</p>
#strings.contains
<p th:text="${#strings.contains('abcez','ez')}"></p>
<p>true</p>
#strings.containsIgnoreCase
<p th:text="${#strings.containsIgnoreCase('abcEZ','ez')}"></p>
<p>true</p>
#strings.startsWith
<p th:text="${#strings.startsWith('Donabcez','Don')}"></p>
<p>true</p>
#strings.endsWith
<p th:text="${#strings.endsWith('Donabcezn','n')}"></p>
<p>true</p>
#strings.indexOf
<p th:text="${#strings.indexOf('abcefg','e')}"></p>
<p>3</p>
#strings.substring
<p th:text="${#strings.substring('abcefg',3,5)}"></p>
<p>ef</p>
#strings.replace
<p th:text="${#strings.replace('lasabce','las','ler')}"></p>
<p>lerabce</p>
#strings.prepend
<p th:text="${#strings.prepend('abc','012')}"></p>
<p>012abc</p>
#strings.append
<p th:text="${#strings.append('abc','456')}"></p>
<p>abc456</p>
#strings.toUpperCase
<p th:text="${#strings.toLowerCase('ABC')}"></p>
<p>abc</p>
#strings.length
<p th:text="${#strings.length('abc')}"></p>
<p>3</p>
#strings.trim
<p th:text="${#strings.trim(' abc ')}"></p>
<p>abc</p>
#strings.abbreviate
<p th:text="${#strings.abbreviate('12345678910',10)}"></p>
<p>1234567...</p>
四. #objects
#objects.nullSafe
<p th:text="${#objects.nullSafe(null,'该对象为null')}"></p>
<p>该对象为null</p>
五. #bools
#bools.isTrue
<p th:text="${#bools.isTrue(true)} "></p>
<p>true</p>
<p th:text="${#bools.isTrue(false)} "></p>
<p>false</p>
<p th:text="${#bools.isTrue('on')} "></p>
<p>true</p>
<p th:text="${#bools.isTrue('off')} "></p>
<p>false</p>
<p th:text="${#bools.isTrue('true')} "></p>
<p>true</p>
<p th:text="${#bools.isTrue('false')} "></p>
<p>false</p>
<p th:text="${#bools.isTrue(1)} "></p>
<p>true</p>
<p th:text="${#bools.isTrue(0)} "></p>
<p>false</p>
边栏推荐
- Redis如何实现多可用区?
- 广发期货排名多少?网上办理广发期货开户安全可靠吗?
- TiCDC 6.0原理之Sorter演进
- 如何深入理解“有限状态机”的设计思想?
- Recommendation number | what are interesting people looking at?
- 关于memset赋值的探讨
- R language dplyr package select function, group_ By function, mutate function and cumsum function calculate the cumulative value of the specified numerical variable in the dataframe grouping data and
- 做自媒體視頻二次剪輯,怎樣剪輯不算侵權
- 01. Solr7.3.1 deployment and configuration of jetty under win10 platform
- Discussion on memset assignment
猜你喜欢
Mingfeng medical sprint technology innovation board: annual revenue of 350million yuan, proposed to raise 624million yuan
魅族新任董事長沈子瑜:創始人黃章先生將作為魅族科技產品戰略顧問
Sqllab 1-6 exercise
Qingda KeYue rushes to the science and Innovation Board: the annual revenue is 200million, and it is proposed to raise 750million
如何深入理解“有限状态机”的设计思想?
基于 TiDB 场景式技术架构过程 - 理论篇
分享 12 个最常用的正则表达式,能解决你大部分问题
How to introduce devsecops into enterprises?
非技术部门,如何参与 DevOps?
神经网络物联网未来现状和趋势及看法
随机推荐
R语言dplyr包select函数、group_by函数、mutate函数、cumsum函数计算dataframe分组数据中指定数值变量的累加值、并生成累加数据列
R语言ggplot2可视化条形图:通过双色渐变配色颜色主题可视化条形图、为每个条形添加标签文本(geom_text函数)
Shenziyu, the new chairman of Meizu: Mr. Huang Zhang, the founder, will serve as the strategic adviser of Meizu's scientific and technological products
R语言ggplot2可视化:可视化折线图、使用theme函数中的legend.position参数自定义图例的位置
TiFlash 源码解读(四) | TiFlash DDL 模块设计及实现分析
魅族新任董事長沈子瑜:創始人黃章先生將作為魅族科技產品戰略顧問
WebRTC的学习(二)
Brief introduction to revolutionary neural networks
广发期货排名多少?网上办理广发期货开户安全可靠吗?
R language uses the polR function of mass package to build an ordered multi classification logistic regression model, and uses the coef function to obtain the log odds ratio corresponding to each vari
Laravel - model (new model and use model)
SAS接口有什么优势特点
What is the ranking of GF futures? Is it safe and reliable to open an account for GF futures online?
R language ggplot2 visualization: visual line graph, using legend in theme function The position parameter defines the position of the legend
Recommendation number | what are interesting people looking at?
分享 20 个稀奇古怪的 JS 表达式,看看你能答对多少
做自媒体视频二次剪辑,怎样剪辑不算侵权
软件测试人在深圳有哪些值得去的互联网公司【软件测试人员专供版】
鸿蒙第四次培训
物联网应用技术专业是属于什么类