SpringBoot整合Thymeleaf
1.基本概念
Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎。Spring官方支持的服务的渲染模板中,并不包含jsp。而是Thymeleaf和Freemarker等,而Thymeleaf与SpringMVC的视图技术,及SpringBoot的自动化配置集成非常完美,几乎没有任何成本,你只用关注Thymeleaf的语法即可。
1.1 Thymeleaf的特点
- 动静结合:Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。
- 开箱即用:它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果,避免每天套模板、该jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。
- 多方言支持:Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。
- 与SpringBoot完美整合,SpringBoot提供了Thymeleaf的默认配置,并且为Thymeleaf设置了视图解析器,我们可以像以前操作jsp一样来操作Thymeleaf。代码几乎没有任何区别,就是在模板语法上有区别。
1.2 什么是模板引擎
模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
2.SpringBoot整合Tyhmeleaf
2.1 导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2.2 自动配置

可以看到,SpringBoot中已经默认配置了Thymeleaf中的一些属性,比如前缀和后缀;我们只需要直接使用即可。
2.3 练手项目
写了一个简单的书单系统,包含新增图书、修改图书信息、删除图书信息等操作。
获取完整源码请去我的GitHub


3. Tyhmeleaf常用语法
3.1变量表达式
3.1.1获取变量值
<td th:text="${book.writer}"></td>
<td th:text="${book.introduction}"></td>
可以用${}来获取自定义变量的属性值。
3.1.2遍历数组
<tr th:each="book :${bookList}">
<th scope="row" th:text="${book.id}"></th>
</tr>
用th:each可以遍历数组。
3.1.3URL表达式
- 引用静态资源
引用静态资源文件(CSS使用th:href,js使用使用th:src)。
静态资源
<link th:href="@{https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css}" rel="stylesheet"/>
动态链接
<td><a class="btn btn-danger" th:href="@{/book/delete/}">删除</a></td>
(在以后的使用中补充)
1382

被折叠的 条评论
为什么被折叠?



