引入命名空间
<html xmlns:th="http://www.thymeleaf.org">
基本使用方法
引用web静态资源
Thymeleaf通过”@{}”来引用web静态资源
<script th:src="@{/static/js/boostrap.min.js}"></script>
引入片断
- ~{ viewName } 完整页面引入
- ~{ viewName ::selector}引入指定片段,其中selector可为片段名、jquery选择器等,如id
- ~{ ::selector} 表示在当前页寻找片断及选择器等
<!-- /views/common/a.html-->
<head th:fragment="static">
<script th:src="@{/webjars/jquery/3.3.1/jquery.js}"></script>
</head>
<!-- /views/b.html -->
<div th:replace="~{common/a::static}"></div> <!--注意开头无/-->
访问model模型中的数据
<form id="userForm" th:object="${user}">
<input id="id" name="id" th:value="*{id}"/>
<input id="username" name="username" th:value="*{username}"/>
<input id="password" name="password" th:value="*{password}"/>
</form>
<span th:text="${user.name}"></span>
<form id="userForm">
<input id="id" name="id" th:value="${user.id}"/>
<input id="username" name="username" th:value="${user.username}"/>
<input id="password" name="password" th:value="${user.password}"/>
</form>
数据迭代
迭代一个userlist集合
<tr th:each="user : ${userlist}">
<td th:text="${user.name}">tyrone</td>
<td th:text="${user.age}">18</td>
</tr>
使用th:each做循环迭代,并使用${对象.属性}来访问具体的值
其它表达式
<input name="name" th:value="${'I am '+(user.name!=null?user.name:'NoBody')}"/>
判断是否为空
<tr th:if="${messages.empty}">
<td colspan="3">No messages</td>
</tr>
在Javascript中访问model模型数据
<script th:inline="javascript">
var user = [[${user}]]
console.log(user.name + "\t" + user.age);
</script>
通过添加th:inline=”javascript”到script标签来访问model模型数据 通过”[[${}]]”这种格式来获取具体的值
工具类
- #maps:常用Map方法。
- #objects:一般对象类,通常用来判断非空
- #bools:常用的布尔方法。
- #execInfo:获取页面模板的处理信息。
- #messages:在变量表达式中获取外部消息的方法,与使用#{…}语法获取的方法相同。
- #uris:转义部分URL / URI的方法。
- #conversions:用于执行已配置的转换服务的方法。
- #dates:时间操作和时间格式化等。
- #strings:字符串工具类
- #lists:List 工具类
- #arrays:数组工具类
- #sets:Set 工具类
- #calendars:用于更复杂时间的格式化。
- #numbers:格式化数字对象的方法。
- #aggregates:在数组或集合上创建聚合的方法。
- #ids:处理可能重复的id属性的方法。
基础对象引用
- ${#ctx} 上下文对象,可用于获取其它内置对象。
- ${#vars}: 上下文变量。
- ${#locale}:上下文区域设置。
- ${#request}: HttpServletRequest对象。
- ${#response}: HttpServletResponse对象。
- ${#session}: HttpSession对象。
- ${#servletContext}: ServletContext对象。
日期处理
<input type="text" th:value="${#dates.format(user.createTime,'yyyy-MM-dd HH:mm:ss')}"/>