thymleaf
介绍:
Thymeleaf 是新一代的模板引擎,在 Spring4.0 中推荐使用 Thymeleaf 来做前端模版引擎。很切合用Spring开发,把它作为Spring的模板引擎。主要有三大特点
- Thymeleaf 在有网络和无网络的环境下皆可运行,大白话说就是可以在浏览器上查看网页的静态效果,也可以在服务器上查看网页的动态效果
- thymleaf开箱即用的特性,它提供标准方言(Standard dialects)和Spring标准方言(SpringStandard dialects),同时开发人员也可以扩展和创建自定义的方言
- .Thymeleaf 提供 Spring 标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。
4种语法表达式
变量表达式${}
变量表达式即 OGNL 表达式或 Spring EL 表达式(在 Spring 术语中也叫 model attributes)。如下所示:
${session.user.name}
它们将以HTML标签的一个属性来表示:
<span th:text="${book.author.name}"> <li th:each="book : ${books}">
选择表达式*{}
选择表达式很像变量表达式,不过它们用一个预先选择的对象来代替上下文变量容器(map)来执行,如下:
*{customer.name}
被指定的 object 由 th:object 属性定义:
<div th:object="${book}"> ... <span th:text="*{title}">...</span> ... </div>
文字国际化表达式#{}
文字国际化表达式允许我们从一个外部文件获取区域文字信息(.properties),用 Key 索引 Value,还可以提供一组参数(可选).
#{main.title} #{message.entrycreated(${entryId})}
可以在模板文件中找到这样的表达式代码:
<table> ... <th th:text="#{header.address.city}">...</th> <th th:text="#{header.address.country}">...</th> ... </table>
ulr表达式 @{}
URL 表达式指的是把一个有用的上下文或回话信息添加到 URL,这个过程经常被叫做 URL 重写。
@{/order/list}
URL还可以设置参数:
@{/order/details(id=${orderId})}
相对路径:
@{../documents/report}
让我们看这些表达式:
<form th:action="@{/createOrder}"> <a href="main.html" th:href="@{/main}">