Thymeleaf开发手册中文版
### Thymeleaf开发手册中文版知识点概览 #### 1. Thymeleaf简介 ##### 1.1 Thymeleaf是什么 Thymeleaf 是一个现代的、开源的 Java 模板引擎,适用于 Web 和非 Web 环境(如电子邮件、纯文本消息、PDF 文档等)。它具有强大的功能,能够处理 HTML、XML、JavaScript 和 CSS 等多种类型的模板文件,并且支持服务器端和客户端渲染。 ##### 1.2 Thymeleaf能处理哪些模板 Thymeleaf 支持处理各种类型的模板,包括但不限于: - **HTML**:可以用来生成动态网页。 - **XML**:用于处理 XML 数据,生成结构化的 XML 文件。 - **JavaScript**:支持 JavaScript 模板,可以用来生成动态 JavaScript 代码。 - **CSS**:处理样式表,动态生成 CSS 规则。 - **纯文本**:用于生成纯文本消息,例如电子邮件正文或系统日志。 - **PDF**:虽然不是直接支持 PDF 生成,但可以通过 Thymeleaf 处理 HTML 再结合其他工具将 HTML 转换成 PDF。 ##### 1.3 Thymeleaf标准方言 Thymeleaf 提供了两种主要的方言(Dialects):标准方言(Standard Dialect)和数据方言(Data Dialect)。 - **标准方言**:包含了 Thymeleaf 最核心的功能,如表达式语言、条件逻辑、循环等。 - **数据方言**:主要用于数据绑定,使得 Thymeleaf 更容易与其他框架集成,如 Spring MVC。 #### 2. 示例项目:GoodThymesVirtualGrocery ##### 2.1 一个杂货店的网站 这个章节介绍了一个使用 Thymeleaf 构建的虚拟杂货店网站——GoodThymesVirtualGrocery。该网站展示了如何利用 Thymeleaf 进行模板设计和动态内容生成。 ##### 2.2 创建和配置模板引擎 - **2.2.1 模板解析器**:模板解析器(Template Resolvers)负责定位和加载模板文件。通常情况下,Thymeleaf 需要一个或多个模板解析器来识别模板的位置。 - **2.2.2 模板引擎**:模板引擎(Template Engine)负责实际的模板渲染过程。它接收模型数据并使用模板解析器找到模板,最终生成 HTML 或其他格式的文档。 #### 3. 使用文本 ##### 3.1 多语言欢迎页 - **3.1.1 使用 th:text 和外部化文本**:`th:text` 属性用于设置元素的文本内容,而外部化文本则是指从资源文件中加载文本内容。这在多语言应用中非常有用。 - **3.1.2 上下文**:这里讨论了如何根据不同的上下文来展示文本内容,比如根据用户的语言偏好显示不同的欢迎语。 - **3.1.3 执行模板引擎**:这一部分讲述了如何启动 Thymeleaf 模板引擎来处理模板文件。 ##### 3.2 更多关于文本和变量的知识 - **3.2.1 非转义文本**:当使用 `th:text` 设置文本时,默认情况下会进行 HTML 实体转义。如果希望直接输出原始文本而不进行转义,则可以使用 `th:utext`。 - **3.2.2 使用和显示变量**:介绍了如何在模板中使用变量,以及如何通过表达式来显示变量值。 #### 4. 标准表达式语法 ##### 4.1 消息 - **消息**:这部分介绍了如何在模板中使用国际化消息。消息通常是存储在资源文件中的字符串,可以根据用户选择的语言版本来显示不同语言的消息。 ##### 4.2 变量 - **4.2.1 基本表达式对象**:这一节介绍了 Thymeleaf 表达式中的基本对象,包括 `#vars`、`#numbers`、`#strings` 等。 - **4.2.2 工具表达式对象**:工具表达式对象提供了更多的功能,如日期格式化、数学计算等。 - **4.2.3 重新格式化首页的日期**:这部分展示了如何使用工具表达式对象来格式化日期。 ##### 4.3 选择表达式(星号语法) - **星号语法**:星号语法是一种特殊的语法,允许用户在模板中使用表达式来选择特定的数据。 ##### 4.4 URL链接 - **4.4.1 主页菜单**:介绍如何在主页菜单中生成动态链接。 - **4.4.2 服务器相对 URL**:这部分讨论了如何生成相对于服务器根目录的 URL。 ##### 4.5 代码片段 - **代码片段**:这部分讲解了如何定义和重用代码片段。 #### 5. 设置属性值 - **5.1 设置任何属性的值**:这部分解释了如何使用 Thymeleaf 的属性表达式来设置元素上的任意属性值。 - **5.2 设置指定属性的值**:进一步介绍了如何针对特定属性设置值。 - **5.3 一次设置多个属性的值**:有时需要同时设置多个属性值,这部分讲解了如何做到这一点。 #### 6. 循环迭代 - **6.1 循环的基本语法**:这部分介绍了 Thymeleaf 中如何实现简单的循环。 - **6.2 保存迭代状态**:在循环过程中,有时需要保存当前迭代的状态信息。 - **6.3 通过数据懒加载进行迭代优化**:为了提高性能,可以采用懒加载的方式来优化循环。 #### 7. 条件判断 - **7.1 简单条件判断:if 和 unless**:这部分介绍了如何使用 `th:if` 和 `th:unless` 来控制模板中元素的显示与否。 - **7.2 switch 语句**:Thymeleaf 提供了类似 `switch` 的表达式,用于更复杂的条件判断。 #### 8. 模板布局 - **8.1 包含模板片段**:这部分介绍了如何在模板中嵌入其他模板片段。 - **8.2 可参数化的片段签名**:参数化模板片段使得模板更加灵活。 - **8.3 灵活的布局:不仅仅是片段插入**:除了简单的片段插入外,Thymeleaf 还支持更为复杂的布局技巧。 - **8.4 删除模板片段**:有时候可能需要从最终输出中移除某些模板片段。 #### 9. 局部变量 - **局部变量**:这部分讲解了如何在模板中定义局部变量。 #### 10. 属性优先级 - **属性优先级**:当多个属性表达式应用于同一元素时,它们之间可能存在优先级差异。 #### 11. 注释 - **11.1 标准 HTML/XML 注释**:这部分介绍了如何使用标准的 HTML/XML 注释。 - **11.2 ThymeLeaf 解析器级注释**:这部分讲解了如何使用 Thymeleaf 的解析器级注释。 - **11.3 Thymeleaf 专有注释**:Thymeleaf 提供了一些专有的注释方式,以便于模板的维护。 #### 12. 内联 - **12.1 内联表达式**:这部分介绍了如何在模板中使用内联表达式。 - **12.2 内联文本**:讲解了如何内联文本内容。 - **12.3 内联 JavaScript**:这部分讨论了如何在模板中内联 JavaScript 代码。 - **12.4 内联 CSS**:这部分介绍了如何在模板中内联 CSS 样式。 #### 13. 文本模板模式 - **13.1 文本语法**:这部分介绍了 Thymeleaf 中的文本模板语法。 - **13.2 扩展性**:讲解了如何通过自定义方言来扩展 Thymeleaf 的功能。 - **13.3 文本原型注释块:添加代码**:这部分讨论了如何在模板中添加代码。 - **13.4 文本解析器级注释块:删除代码**:这部分介绍了如何在模板中删除不必要的代码。 - **13.5 自然的 JavaScript 和 CSS 模板**:这部分讲解了如何自然地编写 JavaScript 和 CSS 代码。 #### 14. 杂货店示例项目其他页面 - **14.1 订单列表页面**:这部分介绍了如何构建订单列表页面。 - **14.2 订单详情页面**:这部分讲解了如何构建订单详情页面。 #### 15. 更多配置 - **15.1 模板解析器**:这部分介绍了如何配置模板解析器。 - **15.2 消息解析器**:这部分讲解了如何配置消息解析器。 - **15.3 转换服务**:这部分讨论了如何配置转换服务。 - **15.4 日志**:这部分介绍了如何配置日志记录。 #### 16. 模板缓存 - **模板缓存**:这部分介绍了 Thymeleaf 中的模板缓存机制。 #### 17. 模板解耦逻辑 - **17.1 解耦逻辑:概念**:这部分讲解了解耦逻辑的概念。 - **17.2 配置解耦模板**:这部分介绍了如何配置解耦模板。 - **17.3 th:ref 属性**:这部分介绍了 `th:ref` 属性的使用方法。 - **17.4 模板解耦逻辑对性能的影响**:这部分讨论了解耦逻辑对性能的影响。 - **17.5 模板解耦逻辑的分辨率**:这部分讲解了解耦逻辑的分辨率问题。 #### 18. 附录 A:基本对象表达式 - **18.1 基本对象**:这部分介绍了 Thymeleaf 中的基本对象。 - **18.2 request 和 session 属性的 web 命名空间**:这部分介绍了如何访问请求和会话属性。 - **18.3 web 上下文对象**:这部分讲解了 web 上下文对象的使用。 #### 19. 附录 B:工具类对象表达式 - **工具类对象表达式**:这部分介绍了 Thymeleaf 提供的一些工具类对象表达式。 #### 20. 附录 C:标记选择器语法 - **标记选择器语法**:这部分介绍了 Thymeleaf 中的标记选择器语法。

































剩余234页未读,继续阅读


- 粉丝: 54
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于天牛须(BAS)与NSGA-Ⅱ混合算法的交直流混合微电网多场景多目标优化调度附Matlab代码.rar
- 基于遗传算法的装配线平衡问题研究附Matlab代码.rar
- 基于栅格地图的无人机三维路径规划算法研究附Matlab代码.rar
- 基于正弦脉宽调制的单相光伏并网逆变器研究附Simulink仿真.rar
- 交替优化ADMM:受限问题、对抗网络和鲁棒模型研究附Matlab代码.rar
- 计及碳排放交易及多种需求响应的微网虚拟电厂日前优化调度附Matlab代码.rar
- 基于主成分分析(PCA)的EPFs(PCA-EPFs)方法在边缘保留特征在高光谱图像分类中的应用研究附Matlab代码.rar
- 具有电动驱动的四足机器人模型研究附Simulink&Matlab代码.rar
- 铰接式车辆的横向动力学仿真提供车辆模型研究附Matlab代码.rar
- 扩展卡尔曼滤波器用于扩展物体跟踪附Matlab代码.rar
- 利用机器学习算法对电力变压器热动力学进行Simulink建模和参数估计研究附Simulink仿真.rar
- 脉冲多普勒雷达信号处理技术研究附Matlab代码.rar
- 麻雀优化算法SSA及改进麻雀优化算法ASFSSA研究附Matlab代码.rar
- 模拟四旋翼飞行器的平移和旋转动力学附Matlab、Simulink仿真.rar
- 模拟使用机器人以电击方式杀死蚊子附Matlab代码.rar
- 蒙特卡洛风光场景并通过削减法聚类法得到几个典型场景附Matlab代码和Python代码.rar


