SpringBoot整合Thymeleaf详解

需积分: 0 0 下载量 157 浏览量 更新于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无缝集成。