Thymeleaf入门学习教程

Thymeleaf 是一个现代化的服务器端 Java 模板引擎,适用于 Web 和独立环境。它能够处理 HTML、XML、JavaScript、CSS 甚至纯文本。Thymeleaf 的主要目标是提供一种优雅且高度可维护的模板创建方式。为了实现这一目标,它以自然模板的概念为基础,将模板文件作为原型,这意味着它们可以在浏览器中直接打开并正确显示,而无需通过服务器渲染。

1. 环境搭建

首先,确保你的开发环境中已经安装了 Java 和 Maven(或 Gradle)。然后,你可以在 Maven 项目的 pom.xml 文件中添加 Thymeleaf 的依赖:

xml 复制代码
<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf</artifactId>
    <version>3.0.12.RELEASE</version>
</dependency>

2. 基本配置

在使用 Thymeleaf 之前,你需要配置一个 TemplateEngine 对象,这是 Thymeleaf 的核心类,用于处理模板。

java 复制代码
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;

public class ThymeleafConfig {
    public static TemplateEngine getTemplateEngine() {
        TemplateEngine templateEngine = new TemplateEngine();
        ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
        templateResolver.setPrefix("/templates/"); // 模板文件存放的路径
        templateResolver.setSuffix(".html");       // 模板文件的后缀
        templateResolver.setTemplateMode("HTML5"); // 模板模式
        templateResolver.setCharacterEncoding("UTF-8"); // 编码
        templateEngine.setTemplateResolver(templateResolver);
        return templateEngine;
    }
}

3. 创建模板

src/main/resources/templates 目录下创建一个 HTML 文件,例如 hello.html

html 复制代码
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Thymeleaf 示例</title>
</head>
<body>
    <h1 th:text="${message}">默认消息</h1>
</body>
</html>

4. 渲染模板

在 Java 代码中使用 TemplateEngine 来渲染模板:

java 复制代码
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;

public class ThymeleafExample {
    public static void main(String[] args) {
        TemplateEngine templateEngine = ThymeleafConfig.getTemplateEngine();
        Context context = new Context();
        context.setVariable("message", "你好,Thymeleaf!");
        String renderedHtml = templateEngine.process("hello", context);
        System.out.println(renderedHtml);
    }
}

5. 运行程序

运行上述 Java 程序,你将在控制台看到渲染后的 HTML 内容:

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>Thymeleaf 示例</title>
</head>
<body>
    <h1>你好,Thymeleaf!</h1>
</body>
</html>

6. 常用语法

  • 变量表达式${...},用于在模板中插入变量的值。
  • 选择表达式*{...},用于选择当前对象中的属性。
  • 消息表达式#{...},用于国际化消息。
  • 链接表达式@{...},用于生成 URL。
  • 片段表达式~{...},用于包含模板片段。

7. 进阶学习

  • 布局和片段 :使用 th:fragmentth:replace 来实现模板的复用。
  • 条件判断 :使用 th:ifth:unless 进行条件渲染。
  • 循环 :使用 th:each 进行循环渲染。
  • 表单处理 :使用 th:objectth:field 处理表单数据。

8. 参考文档

通过以上步骤,你应该能够掌握 Thymeleaf 的基本用法,并开始在你的项目中使用它来创建动态的 Web 页面。

相关推荐
爱吃的小肥羊3 分钟前
刚刚!Claude最强大模型泄露,Anthropic紧急封锁
后端
qqty12173 分钟前
Spring Boot管理用户数据
java·spring boot·后端
bearpping1 小时前
SpringBoot最佳实践之 - 使用AOP记录操作日志
java·spring boot·后端
一叶飘零_sweeeet1 小时前
线上故障零扩散:全链路监控、智能告警与应急响应 SOP 完整落地指南
java·后端·spring
开心就好20252 小时前
不同阶段的 iOS 应用混淆工具怎么组合使用,源码混淆、IPA混淆
后端·ios
架构师沉默2 小时前
程序员如何避免猝死?
java·后端·架构
椰奶燕麦2 小时前
Windows PackageManager (winget) 核心故障排错与通用修复指南
后端
zjjsctcdl3 小时前
springBoot发布https服务及调用
spring boot·后端·https
zdl6863 小时前
Spring Boot文件上传
java·spring boot·后端
世界哪有真情4 小时前
哇!绝了!原来这么简单!我的 Java 项目代码终于被 “拯救” 了!
java·后端