引言
SpringBoot 对 Web 的支持,官方推荐的是模板引擎 thymelaf。本章中,作者原意是直接讲解 SpringBoot 与 Thymelaf 的集成。但是在示例完成时,发现集成并不难。核心关注点应该是 Thymelaf 模板引擎本身的用法。故本章将其单独提出来讲解。集成部分待下一章详解。
简介
Thymeleaf 是一款用于渲染XML/XHTML/HTML5内容的模板引擎。类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。与其它模板引擎相比,Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用。在开发团队中实现更强大的协调作用。
功能特性
-
原型即页面;
-
国际化支持;
-
开箱即用;
-
与 Spring 完美集成。
标准表达式语法
1、 ${...}
变量表达式,Variable Expressions
变量表达式可使用 thymleaf 的内置对象和内置方法。例如:
<p>Today is: <span th:text="${today}">13 february 2011</span>.</p>
2、@{...}
链接表达式,Link URL Expressions
用于静态资源的引用,form表单的请求等链接。例如:
无参:@{/xxx}
有参:@{/xxx(k1=v1,k2=v2)} 对应url结构:xxx?k1=v1&k2=v2
引入本地资源:@{/项目本地的资源路径}
引入外部资源:@{/webjars/资源在jar包中的路径}
3、#{...}
消息表达式,Message Expressions
信息表达式通常用于国际化。
4、~{...}
代码块表达式,Fragment Expressions
代码表达式主要用来页面布局的,支持两种语法结构:
- 推荐:
~{templatename::fragmentname}
- 支持:
~{templatename::