${session.user.name}
<span th:text="${book.author.name}">
<li th:each="book : ${books}">复制代码
*{customer.name}
<div th:object="${book}">
...
<span th:text="*{title}">...</span>
...
</div> 复制代码
#{main.title}
#{message.entrycreated(${entryId})}复制代码
<table>
...
<th th:text="#{header.address.city}">...</th>
<th th:text="#{header.address.country}">...</th>
...
</table> 复制代码
@{/order/list}
@{/order/details(id=${orderId})}
@{../documents/report}
<form th:action="@{/createOrder}">
<a href="main.html" th:href="@{/main}">复制代码
什么是选定对象?就是父标签的值,以下:javascript
<div th:object="${session.user}">
<p>Name: <span th:text="*{firstName}">Sebastian</span>.</p>
<p>Surname: <span th:text="*{lastName}">Pepper</span>.</p>
<p>Nationality: <span th:text="*{nationality}">Saturn</span>.</p>
</div>复制代码
这是彻底等价于:html
<div th:object="${session.user}">
<p>Name: <span th:text="${session.user.firstName}">Sebastian</span>.</p>
<p>Surname: <span th:text="${session.user.lastName}">Pepper</span>.</p>
<p>Nationality: <span th:text="${session.user.nationality}">Saturn</span>.</p>
</div>复制代码
<div th:object="${session.user}">
<p>Name: <span th:text="*{firstName}">Sebastian</span>.</p>
<p>Surname: <span th:text="${session.user.lastName}">Pepper</span>.</p>
<p>Nationality: <span th:text="*{nationality}">Saturn</span>.</p>
</div>复制代码
关键字
|
功能介绍
|
案例
|
th:id
|
替换id
|
<input th:id="'xxx' + ${collect.id}"/>
|
th:text
|
文本替换
|
<p th:text="${collect.description}">description</p>
|
th:utext
|
支持html的文本替换
|
<p th:utext="${htmlcontent}">conten</p>
|
th:object
|
替换对象
|
<div th:object="${session.user}">
|
th:value
|
属性赋值
|
<input th:value="${user.name}" />
|
th:with
|
变量赋值运算
|
<div th:with="isEven=${prodStat.count}%2==0"></div>
|
th:style
|
设置样式
|
th:style="'display:' + @{(${sitrue} ? 'none' : 'inline-block')} + ''"
|
th:onclick
|
点击事件
|
th:onclick="'getCollect()'"
|
th:each
|
属性循环赋值
|
tr th:each="user,userStat:${users}">
|
th:if
|
判断条件
|
<a th:if="${userId == collect.userId}" >
|
th:unless
|
和th:if判断相反
|
<a th:href="@{/login}" th:unless=${session.user != null}>Login</a>
|
th:href
|
连接地址
|
<a th:href="@{/login}" th:unless=${session.user != null}>Login</a> />
|
th:switch
|
多路选择 配合th:case 使用
|
<div th:switch="${user.role}">
|
th:case
|
th:switch的一个分支
|
<p th:case="'admin'">User is an administrator</p>
|
th:fragment
|
布局标签,定义一个代码片断,方便其它地方引用
|
<div th:fragment="alert">
|
th:include
|
布局标签,替换内容到引入的文件
|
<head th:include="layout :: htmlhead" th:with="title='xx'"></head> />
|
th:replace
|
布局标签,替换整个标签到引入的文件
|
<div th:replace="fragments/header :: title"></div>
|
th:selected
|
selected选择框
|
选中 th:selected="(${xxx.id} == ${configObj.dd})"
|
th:src
|
图片类地址引入
|
<img class="img-responsive" alt="App Logo" th:src="@{/img/logo.png}" />
|
th:inline
|
定义js脚本可使用变量
|
<script type="text/javascript" th:inline="javascript">
|
th:action
|
表单提交的地址
|
<form action="subscribe.html" th:action="@{/subscribe}">
|
th:remove
|
删除某个属性
|
<tr th:remove="all"> 1.all:删除包含标签和全部的孩子。2.body:不包含标记删除,但删除其全部的孩子。3.tag:包含标记的删除,但不删除它的孩子。4.all-but-first:删除全部包含标签的孩子,除了第一个。5.none:什么也不作。这个值是有用的动态评估。
|
th:attr
|
设置标签属性,多个属性能够用逗号分隔
|
好比 th:attr="src=@{/image/aa.jpg},title=#{logo}",此标签不太优雅,通常用的比较少。
|
<p th:text="${collect.description}">description</p>
<span th:text="'Welcome to our application, ' + ${user.name} + '!'">复制代码
<span th:text="|Welcome to our application, ${user.name}!|">
<a th:if="${myself=='yes'}" > </i> </a>
<a th:unless=${session.user != null} th:href="@{/login}" >Login</a>复制代码
<tr th:each="collect,iterStat : ${collects}">
<th scope="row" th:text="${collect.id}">1</th>
<td >
<img th:src="${collect.webLogo}"/>
</td>
<td th:text="${collect.url}">Mark</td>
<td th:text="${collect.title}">Otto</td>
<td th:text="${collect.description}">@mdo</td>
<td th:text="${terStat.index}">index</td>
</tr>复制代码
<script th:inline="javascript">
/*<![CDATA[*/
...
var username = /*[[${sesion.user.name}]]*/ 'Sebastian';
var size = /*[[${size}]]*/ 0;
...
/*]]>*/
</script>复制代码
var msg = 'This is a working application';
var msg = 'This is a non-working template';