关于Themleaf学习总结

本文档详细介绍了Thymeleaf模板引擎的基本使用方法,包括工作流程、静态资源热部署策略、页面元素展示技巧等,并深入探讨了条件判断、循环控制等语法特性。同时,还介绍了如何利用Thymeleaf提供的实用工具对象来增强模板的表现力。

此篇记录学习Themleaf测试的相关用例:

study01

  • Thymeleaf 的HelloWorld级别的例子
  • 简单介绍Thymeleaf的工作流程

study02

  • 使用spring.thymeleaf.cache=false的方式让静态资源热部署;
  • 使用devtools插件让静态资源和java文件热部署。

study03

Thymeleaf 之 初步使用

  1. 非表单数据显示(字符串拼接)
  2. 表单数据显示
  3. 三目运算
  4. if判断
  5. switch选择及case应用
  6. each循环(循环中状态对象的各属性)

study04

Thymeleaf 之 页面模板应用

study05

Thymeleaf 之 内置对象、定义变量、URL参数及标签自定义属性

 

  为了模板更加易用,Thymeleaf还提供了一系列Utility对象(内置于Context中),可以通过#直接访问:

  • dates : java.util.Date的功能方法类。
  • calendars : 类似#dates,面向java.util.Calendar
  • numbers : 格式化数字的功能方法类
  • strings : 字符串对象的功能类,contains,startWiths,prepending/appending等等。
  • objects: 对objects的功能类操作。
  • bools: 对布尔值求值的功能方法。
  • arrays:对数组的功能类方法。
  • lists: 对lists功能类方法
  • sets
  • maps

 

 

 

Github地址:https://github.com/xiaowu135/ThemleafStudy

 

### 关于 Thymeleaf 模板引擎的使用教程 Thymeleaf 是一种现代的服务器端 Java 模板引擎,支持 HTML、XML、CSS 和 JavaScript 等多种模板文件格式[^3]。它的设计目标是提供一种优雅的方式,在开发过程中实现自然模板的概念,使得开发者可以在浏览器中直接预览模板效果而无需运行应用程序。 #### 1. **Thymeleaf 的基本概念** Thymeleaf 提供了一种强大的机制用于动态生成 Web 页面内容。通过其标准方言(Standard Dialect),可以轻松嵌入变量、条件语句以及循环结构等逻辑控制功能[^1]。这些特性使其成为 Spring Boot 应用程序中的理想选择之一[^4]。 #### 2. **安装与配置** 要在项目中引入 Thymeleaf,可以通过 Maven 或 Gradle 添加依赖项: 对于 Maven 用户: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> ``` Gradle 配置如下所示: ```gradle implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' ``` 默认情况下,Spring Boot 自动配置会扫描 `src/main/resources/templates` 文件夹下的所有 `.html` 文件作为视图资源。 #### 3. **简单的 Hello World 示例** 下面是一个展示如何利用 Thymeleaf 输出 “Hello, ${name}!” 的例子: HTML 文件 (`hello.html`): ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Hello Page</title> </head> <body> <p th:text="'Hello, ' + ${name} + '!'" /> </body> </html> ``` 对应的控制器代码 (Java): ```java import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HelloWorldController { @GetMapping("/hello") public String hello(Model model) { model.addAttribute("name", "World"); return "hello"; } } ``` 上述示例展示了如何向页面传递参数并将其渲染到最终输出的内容之中。 #### 4. **高级功能——条件表达式和迭代器** 除了基础的数据绑定外,Thymeleaf 还允许我们执行更复杂的操作比如条件判断或者列表遍历等功能。 ##### 条件表达式 如果想基于某些条件显示不同的 UI 元素,则可采用以下语法形式: ```html <div th:if="${isLoggedIn}"> Welcome back! </div> <div th:unless="${isLoggedIn}"> Please log in to continue. </div> ``` ##### 列表迭代 当需要呈现一组数据时,可以借助 `th:each` 属性完成这一需求: ```html <ul> <li th:each="item : ${items}" th:text="${item.name}"></li> </ul> ``` 以上片段将会根据传入的对象集合自动创建相应数量的 `<li>` 节点,并填充各自的名字属性值。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值