返回

Thymeleaf 模板引擎入门指南

见解分享

Thymeleaf 简介

Thymeleaf 是一个现代的服务器端 Java 模板引擎,用于开发 Web 和独立环境项目。它的主要目标是为开发工作流程带来优雅的自然模板 - HTML。可以在直接浏览器中正确显示,并且可以作为静态原型,从而在开发团队中实现更强大的协作。借助 Spring Framework 的强大功能,Thymeleaf 成为构建健壮且易于维护的 Web 应用程序的首选。

Thymeleaf 的优势

Thymeleaf 具有许多优点,使其成为开发人员的首选模板引擎:

  • 易于学习和使用 :Thymeleaf 使用熟悉的 HTML 语法,因此开发人员可以轻松上手。它还提供了丰富的文档和示例,帮助开发人员快速掌握其用法。
  • 强大的模板继承和重用 :Thymeleaf 支持模板继承和重用,允许开发人员在不同的模板中共享代码。这有助于减少代码重复,提高开发效率。
  • 支持国际化和本地化 :Thymeleaf 支持国际化和本地化,允许开发人员轻松地将应用程序翻译成多种语言。这有助于应用程序面向全球受众。
  • 与 Spring MVC 的无缝集成 :Thymeleaf 与 Spring MVC 集成良好,开发人员可以使用 Thymeleaf 作为 Spring MVC 的模板引擎。这有助于简化 Web 应用程序的开发和维护。

如何与 Spring MVC 集成 Thymeleaf

要将 Thymeleaf 与 Spring MVC 集成,需要在 Spring MVC 的配置文件中进行如下配置:

<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf-spring5</artifactId>
    <version>3.0.14.RELEASE</version>
</dependency>
@Configuration
public class ThymeleafConfig {

    @Bean
    public SpringTemplateEngine templateEngine() {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.setTemplateResolver(templateResolver());
        return templateEngine;
    }

    @Bean
    public TemplateResolver templateResolver() {
        TemplateResolver templateResolver = new ServletContextTemplateResolver();
        templateResolver.setPrefix("/WEB-INF/templates/");
        templateResolver.setSuffix(".html");
        return templateResolver;
    }

    @Bean
    public ThymeleafViewResolver viewResolver() {
        ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
        viewResolver.setTemplateEngine(templateEngine());
        return viewResolver;
    }

}

如何使用 Thymeleaf 创建模板

要使用 Thymeleaf 创建模板,需要在 Spring MVC 的控制器方法中返回一个 Thymeleaf 模板的名称。例如:

@Controller
public class HomeController {

    @GetMapping("/")
    public String home() {
        return "home";
    }

}

然后,在 src/main/resources/templates/ 目录下创建一个名为 home.html 的 Thymeleaf 模板文件,如下所示:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    
</head>
<body>
    <h1>Welcome to Thymeleaf!</h1>
</body>
</html>

一些常见的 Thymeleaf 技巧和最佳实践

以下是一些常见的 Thymeleaf 技巧和最佳实践:

  • 使用 Thymeleaf 的标准表达式 (Standard Expressions) 来访问数据模型中的对象和属性。
  • 使用 Thymeleaf 的条件表达式 (Conditional Expressions) 来控制模板的显示逻辑。
  • 使用 Thymeleaf 的循环表达式 (Iteration Expressions) 来遍历数据模型中的集合。
  • 使用 Thymeleaf 的片段 (Fragments) 来实现模板的重用。
  • 使用 Thymeleaf 的布局 (Layouts) 来创建一致的页面布局。

结论

Thymeleaf 是一个功能强大且易于使用的模板引擎,非常适合开发 Web 和独立环境项目。它与 Spring MVC 集成良好,支持国际化和本地化,并提供丰富的模板继承和重用机制。通过学习本文,您将对 Thymeleaf 有一个基本的了解,并能够使用 Thymeleaf 创建简单的模板。