thymeleaf ajax 局部更新_Thymeleaf参考手册(九):局部变量
Thymeleaf将局部变量称为为模板的特定片段定义的变量,并且仅可用于该片段内部的评估。我们已经看到的示例是商品产品列表页面中的迭代变量:<tr th:each="prod : ${prods}">...</tr>prod 变量仅在 <tr> 标记范围内可用。特别的:th:* 标签可用于在该标签中执行的所有其它属性,该属性的优先级低于 th:eac...
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}">Julius Caesar</span>.
</p>
</div>
当 th:with 被处理时, firstPer 变量被创建为一个局部变量,并加入到上下文变量映射中,使得它可用于与在上下文中声明的任何其它变量一起评估,但仅在 <div> 标记内有效 。
可以使用通常的多重赋值语法同时定义几个变量:
<div th:with="firstPer=${persons[0]},secondPer=${persons[1]}">
<p>
The name of the first person is <span th:text="${firstPer.name}">Julius Caesar</span>.
</p>
<p>
But the name of the second person is
<span th:text="${secondPer.name}">Marcus Antonius</span>.
</p>
</div>
th:with 属性允许重用在同一属性中定义的变量:
<div th:with="company=${user.company + ' Co.'},account=${accounts[company]}">...</div>
使用一下:
<p>
Today is:
<span th:text="${#calendars.format(today,'dd MMMM yyyy')}">13 february 2011</span>
</p>
好吧,如果我们希望 "dd MMMM yyyy" 取决于实际的语言环境呢?例如,我们可能想向我们添加以下信息home_en.properties:
date.format=MMMM dd'','' yyyy
和等同的 home_es.properties:
date.format=dd ''de'' MMMM'','' yyyy
现在,让我们使用 th:with 将本地化的日期格式转换为变量,然后在 th:text 表达式中使用它:
<p th:with="df=#{date.format}">
Today is: <span th:text="${#calendars.format(today,df)}">13 February 2011</span>
</p>
简单吧?实际上,考虑到 th:with 优先级大于 th:text,我们可以在 span 标记中解决所有问题:
<p>
Today is:
<span th:with="df=#{date.format}"
th:text="${#calendars.format(today,df)}">13 February 2011</span>
</p>
关于优先级的问题,下一章再讲。
我是银河架构师,十年饮冰,难凉热血,愿历尽千帆,归来仍是少年!
如果文章对您有帮助,请举起您的小手,轻轻【三连】,这将是笔者持续创作的动力源泉。当然,如果文章有错误,或者您有任何的意见或建议,请留言。感谢您的阅读!
文章不定时更新,可微信搜索「银河架构师」,精彩内容,先睹为快!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)