spring 集成了 Thymeleaf 模板引擎,本文对此作些许介绍
方言
Thymeleaf 提供了灵活接口,允许使用方定制自己的方言。因此在自定义方言之前,有必要先了解标准方言。
标准表达式
${…} : 变量表达式.
*{…} : 区域选择表达式.
#{…} : 消息国际化表达式.
@{…} : 链接表达式.
~{…} : 代码段表达式.
Variable
变量表达式通常是 OGNL
${session.user.name}
Thymeleaf
((Book)context.getVariable(“book”)).getAuthor().getName()
从上下文读取迭代
- 选择表达式 类似下面这样,通常是在子区域内选择当前上下文,类似 go 模板中的.
*{customer.name}
完整示例... ... ...等价于{
// th:object="${book}"
final Book selection = (Book) context.getVariable(“book”);
// th:text="*{title}"
output(selection.getTitle());
}
国际化
通常会依赖键定位读取本地.properties 文件中对应语言的消息#{main.title}
... ...
#{message.entrycreated(${entryId})}
在模板中是这样... ...