Thymeleaf模板引擎:数据转换与无操作标记

需积分: 50 33 下载量 81 浏览量 更新于2024-08-06 收藏 1.33MB PDF 举报
"Thymeleaf是一个现代服务器端Java模板引擎,用于Web和独立环境,支持HTML、XML等多种模板。它的核心特性是自然模板,使模板在保持设计原型的同时注入逻辑,便于维护。Thymeleaf提供了多种模板模式,包括HTML、XML、TEXT等。在数据转换和格式化方面,Thymeleaf引入了双括号语法`${{...}}`,允许应用转换服务对变量和选择表达式的结果进行处理。" 在Thymeleaf中,"无操作标记"(No-Operation token)用下划线 `_` 表示,它的目的是指定一个表达式的结果为空,即不执行任何操作,就像相关属性不存在一样。这使得开发者可以使用默认文本作为占位符,如将`<span th:text="${user.name} ?: 'no user authenticated'">...</span>`简化为`<span th:text="${user.name} ?: _">no user authenticated</span>`。 数据转换和格式化的功能通过Thymeleaf的双括号语法`${{...}}`实现。这个语法会将表达式的结果传递给配置的转换服务,进行数据转换或格式化,比如将`java.util.Calendar`对象转换成字符串。默认情况下,转换服务会调用`.toString()`方法。在Spring Boot环境中,当使用`thymeleaf-spring3`或`thymeleaf-spring4`集成包时,Thymeleaf会透明地整合Spring的转换服务,自动处理`${{...}}`和`*{{...}}`表达式中的转换和格式化任务。 Thymeleaf支持六种模板模式:HTML、XML、TEXT、JAVASCRIPT、CSS和RAW。HTML模式适用于各种HTML版本,XML模式要求输入的XML代码格式良好,TEXT模式用于非标记文本模板,如电子邮件或文档,而JAVASCRIPT模式则允许在JavaScript文件中处理模板,结合模型数据。 Thymeleaf提供了一套强大且灵活的模板处理机制,它与Spring的深度集成使得数据转换和格式化更加便捷,同时保留了模板的可读性和设计友好性。通过理解这些核心概念,开发者可以更好地利用Thymeleaf来构建高效、可维护的Web应用。