Thymeleaf模板引擎实战教程

需积分: 14 78 下载量 158 浏览量 更新于2024-09-09 收藏 5KB TXT 举报
"thymeleaf用法举例" Thymeleaf是一个流行的Java模板引擎,用于在Web应用程序中处理HTML。它允许开发者在静态HTML中添加表达式,这些表达式在服务器端被解析并替换为实际的值。Thymeleaf的主要优点是它可以提供离线的、静态的HTML模板,使得在开发和设计阶段可以无需服务器即可查看页面样式。 1. 数字格式化: 在示例中,`th:text="${#numbers.formatDecimal(product.price,1,2)}"` 是用来将商品价格转换为具有两位小数的格式。`#numbers.formatDecimal()` 是Thymeleaf提供的一个内置函数,它接受两个参数:要格式化的数字(在这里是`product.price`)和小数位数(1表示一位小数,2表示两位小数)。所以如果`product.price`为850,则显示结果为850.00。 2. 日期格式化: `th:text="${#dates.format(product.availableFrom,'dd-MMM-yyyy')}"` 和 `th:text="${#dates.format(product.availableFrom,'yyyy-MM-ddhh:ss:mm')}"` 展示了如何格式化日期。`#dates.format()` 函数用于将日期对象转换为指定格式的字符串。第一个例子使用了 'dd-MMM-yyyy' 格式,如 "18-Feb-2013",而第二个例子则使用了 'yyyy-MM-ddhh:ss:mm' 格式,如 "2013-02-1812:00:00"。 3. 文本表达式: - `th:text="${'$'+#numbers.formatDecimal(product.price,1,2)}"` 会将货币符号与格式化的价格连接,形成如 "$850.00" 的显示。 - `th:text="'Hello'+${customerName}+'!'"` 和其他几个示例展示了如何在文本中插入变量。在这个例子中,它会显示 "Hello Peter!",其中 `customerName` 被替换为 "Peter"。 - 使用不同的分隔符(`_`, `|`) 来插入变量,例如 `th:text="'Hello__${customerName}__!'"` 和 `th:text="|Hello${customerName}!|"`, 这些分隔符会被变量替换后的值替换。 4. 国际化 (i18n): 在Thymeleaf中,可以使用 `#{...}` 表达式来引用消息资源文件中的键。示例中的 `messages_en.properties` 文件包含了多个键值对,如 `tutorial.exercise4` 和 `product.info`。在HTML模板中,这些键可以用来显示对应的语言字符串。例如,`th:text="#{tutorial.exercise4}"` 会获取 `messages_en.properties` 中对应的值,并将其显示在HTML元素内。 5. HTML转义: `th:text="${html}"` 示例展示了如何在模板中安全地包含HTML内容。Thymeleaf默认会自动转义HTML实体以防止跨站脚本(XSS)攻击,但如果你想在页面上显示原始HTML,可以使用这个属性来防止转义。 Thymeleaf提供了丰富的功能,包括数据格式化、变量插入、国际化支持以及HTML安全处理,这些都是构建动态、交互式Web界面的关键工具。通过学习和理解这些基本用法,开发者可以更有效地创建出具有高度可维护性和用户体验的Web应用。