字符串拼接可使用以下方式。html
<a href="#" th:text="第+${StartNo}+页 +' '+共+${countPage}+页">
还有一种更优雅的方式,使用“||”减小了字符串的拼接,代码以下。java
<a href="#" th:text="|第${StartNo}页 共${countPage}页|">
这个问题也比较常遇到,好比想经过超连接删除数据库中某条数据,那么在超连接上就须要传入此数据的主键。如图,我要修改此用户那么就要在修改的超连接上把10064这个ID传进来。算法
超连接传参代码以下,须要注意Thymeleaf对URL进行渲染,务必使用th:href,th:src属性 。数据库
<a class="border-main" th:href="@{userPower(id=${user.Id})}"><span class="edit"></span> 修改
几点须要说明:app
前面介绍了if的用法,接下来介绍一个与if用法相同但表达相反的属性 th:unless ,二者都是条件判断,if表示表达式成立则执行动做,而unless表示表达式中的条件不成立,才会执行动做。less
thymeleaf还有一种相似Java中的三元运算符的用法,代码以下。dom
<input th:text="(${user.isAdmin}?'管理员':'普通用户')"></input>
Controller代码:工具
@RestController public class IndexController { @PostMapping("toIndex") public String toIndex(Model model) { List<String> datas = new ArrayList<String>(); datas.add("二十岁之后"); datas.add("995600491"); model.addAttribute("datas", datas); model.addAttribute("curDate", new Date()); model.addAttribute("number", Math.random()*100); return "index"; } }
上面的代码,包含了工做中常使用的数据类型,有集合,时间类型,数值类型,下面咱们使用thymeleaf的内置对象来解析他们。spa
<span th:text="${#lists.size(datas)}"></span>
<span th:text="${#dates.format(curDate, 'yyyy-MM-dd HH:mm:ss')}"></span>
<span th:text="${#numbers.formatDecimal(number, 0, 3)}"></span>
解释:保留三位小数, 整数位自动。code
<span th:text="${#numbers.formatDecimal(number,3,1)}"></span>
解释: 保留1位小数位,3位整数位(不够的前面加0) 。
特别提示:
内置对象前都须要加#号。
内置对象通常都以s结尾。
其余经常使用内置对象:
#numbers: 数字格式化; #strings:字符串格式化,参照java.lang.String; #bools:判断boolean类型; #lists:集合操做的工具,参照java.util.List; #sets:Set集合操做工具,参照java.util.Set; #maps:Map集合操做工具,参照java.util.Map; #dates:日期格式化,参照java.util.Date;