SpringBoot整合Thymeleaf详解
需积分: 0 119 浏览量
更新于2024-08-03
收藏 5KB TXT 举报
"本文将介绍如何在Spring Boot项目中整合Thymeleaf模板引擎,包括Thymeleaf的各种表达式、链接、消息、代码块以及属性的使用方式。"
Thymeleaf是一个流行的Java模板引擎,它允许开发者在HTML中编写可执行的代码,用于Web应用的视图层。在Spring Boot中整合Thymeleaf可以方便地进行动态页面渲染。以下是对Thymeleaf关键特性的详细解释:
1. 表达式:
- 变量表达式 `${}`:通过`${beginTime}`可以在页面上获取Controller传递到ModelMap中的`begin`变量。
- 对象属性和方法表达式 `${@dict.getType('work_finished')}`:访问Spring容器中的bean对象及其属性和方法。
- 内置对象访问 `${session.userName}`:可以使用`ctx`,`vars`,`locale`,`request`,`response`,`session`,`servletContext`等内置对象。
- 内置方法 `${#dates.format(user.birthday,'dd/MMM/yyyyHH:mm')}`:使用如`dates`,`numbers`,`strings`,`objects`,`arrays`,`lists`,`sets`,`maps`等内置方法,此处示例中格式化日期。
2. 链接表达式 `@{/xxxx}`:
- 无参链接:如`@{/xxxx}`编译后直接生成路径。
- 有参链接:如`@{/xxxx(k1=v1,k2=v2)}`编译后形成带有参数的URL。
- 本地资源引入:`@{/js/bootstrap.min.js}`会从`static`文件夹下加载资源。
- 外部资源引入:`@{/webjars/资源在jar包中的路径}`用于引入jar包内的静态资源。
3. 消息表达式 `#{}`:用于国际化的消息表达,可以根据不同的语言环境展示相应的文本。
4. 代码块表达式 `~{}`:在HTML中定义代码块,可以包含条件语句、循环结构等。
5. 选择变量表达式 `*{}`:根据条件选择不同的变量。
6. 文本内联 `[[]]` 和 `[()]`:
- `[[]]` 以纯文本形式显示,不解析内容里的HTML标签,等价于`th:text`。
- `[()]` 把内容当成HTML来解析并展示,等价于`th:utext`。
7. Thymeleaf属性:
- th:text:设置元素的文本内容,如`<div class="form-control-static" th:text="${user.userCode}"></div>`编译后显示`user.userCode`。
- th:src, th:href, th:value:分别用于设置元素的`src`,`href`和`value`属性,如`<script th:src="@{/js/boo}"`。
通过以上这些特性,Thymeleaf能够将动态数据与静态HTML结合,提供丰富的功能来创建交互式的Web界面。在Spring Boot中整合Thymeleaf,可以极大地提升开发效率,简化前端逻辑,并且便于维护。记得在使用Thymeleaf时,确保已正确配置Thymeleaf的相关依赖和设置,以便于其与Spring Boot无缝集成。
2017-02-17 上传
2019-01-02 上传
2019-04-12 上传
2020-02-05 上传
2019-01-23 上传
2023-04-04 上传
2024-07-09 上传
2020-08-25 上传
2018-04-04 上传