1. text&value
th:text - 文本显示属性
th:value - 数据录入属性,相当于HTML标签中的value属性
2.字符串操作
方法 | 含义 | 案例 |
---|---|---|
isEmpty | 判断字符串非空 | ${#strings.isEmpty(attr)} |
contains | 是否包含子串 | ${#strings.contains(attr, ‘str’)} |
length | 字符串长度 | ${#strings.length(attr)} |
startsWith | 是否以什么开头 | ${#strings.startsWith(attr, ‘a’)} |
indexOf | 找子串索引,不存在返回-1 | ${#strings.indexOf(attr, ‘str’)} |
endsWith | 以什么结尾 | ${#strings.endsWith(attr,‘suf’)} |
substring | 截取子串 | ${#strings.substring(attr,begin[,end])} |
toUpperCase | 转大写 | ${#strings.toUpperCase(attr)} |
toLowerCase | 转小写 | ${#strings.toLowerCase(attr)} |
3. 日期
方法 | 含义 | 案例 |
---|---|---|
format | 格式化,默认Thymeleaf是使用浏览器的首选语言环境进行日期的格式化 | ${#dates.format(attr)} ${#dates.format(attr, ‘formatter’)} |
year | 获取年 | ${#dates.year(attr)} |
month | 获取月份 | ${#dates.month(attr)} |
day | 获取日期 | ${#dates.dayt(attr)} |
4. 逻辑
<span th:if="${attr} == 'value'">
show text
</span>
<div th:switch="${attr}">
<span th:case="value1">show text 1</span>
<span th:case="value2">show text 2</span>
<span th:case="value3">show text 3</span>
</div>
5. 循环
语法: 变量名 : ${要循环的集合 attr}, 类似java中的foreach
<tr th:each="u : ${list}">
<td th:text="${u.userid}"></td>
<td th:text="${u.username}"></td>
<td th:text="${u.userage}"></td>
</tr>
状态变量,就是为循环过程提供状态依据的。如:循环的索引,数量,计数,奇偶数等。状态变量在循环语法中是通用的。
语法: 循环变量, 状态变量 : ${attr}
<tr th:each="u,var : ${list}">
<td th:text="${var.index}"></td><!-- 索引,从0开始 -->
<td th:text="${var.count}"></td><!-- 计数,从1开始 -->
<td th:text="${var.size}"></td><!-- 集合容量 -->
<td th:text="${var.even}"></td><!-- 是否为偶数 -->
<td th:text="${var.odd}"></td><!-- 是否为奇数 -->
<td th:text="${var.first}"></td><!-- 是否是第一个元素 -->
<td th:text="${var.last}"></td><!-- 是否是最后一个元素 -->
</tr>
迭代Map集合,在迭代Map的时候,如果使用迭代线型集合的方式迭代map,每个循环变量类型是Map.Entry。如果想操作Map.Entry中的key或value,可以进行二次迭代。在Thymeleaf中,将Map.Entry看做是一个集合。
<tr th:each="maps : ${map}">
<td th:each="entry:${maps}" th:text="${entry.key}" ></td>
<td th:each="entry:${maps}" th:text="${entry.value}"></td>
</tr>
6. 作用域
Request:<span th:text="${req}"></span><br/>
Request:<span th:text="${#httpServletRequest.getAttribute('req')}"></span><br/>
Session:<span th:text="${session.sess}"></span><br/>
Application:<span th:text="${application.app}"></span>
8. url表达式
th:action - 用于定义form表单的提交路径。
th:href - 用于定义URL路径的thymeleaf语法。
th:src - 用于定义资源路径的thymeleaf语法。通常用于定位图片,JS导入等。
thymeleaf中定义URL的语法为: @{URLPath} 。
Thymeleaf会对请求头进行encode操作。URIEncoder URIDecoder。Springmvc在处理请求头参数的时候,会进行decode操作。
<a th:href="@{http://www.baidu.com}" th:text="绝对路径"></a>
<hr>
<img th:src="@{/1.jpg}" style="height: 50px"/>
<hr>
<a th:href="@{/index}">相对路径 - 相对于应用的根</a>
<hr>
<a th:href="@{~/index}">相对路径 - 相对于服务器的根</a>
<hr>
<a th:href="@{index}">相对路径 - 相对于当前路径</a>
<hr>
<a th:href="@{/params(id=1,name=张三)}">参数传递</a>
<hr>
<a th:href="@{/restfulParams/{id}(id=2, name=李四)}">Restful传参</a>