Thymeleaf将局部变量称为为模板的特定片段定义的变量,并且仅可用于该片段内部的评估。
我们已经看到的示例是商品产品列表页面中的迭代变量:
<tr th:each="prod : ${prods}">
...
</tr>
prod 变量仅在 <tr> 标记范围内可用。特别的:
- th:* 标签可用于在该标签中执行的所有其它属性,该属性的优先级低于 th:each(这意味着它们将在 th:each 之后执行)。
- 它将可用于 <tr> 标签的任何子元素,例如任何 <td> 元素。
Thymeleaf提供了一种使用 th:with 属性声明局部变量而无需迭代的方法,其语法类似于属性值分配的语法:
<div th:with="firstPer=${persons[0]}">
<p>
The name of the first person is <span th:text="${firstPer.name}">