文章目录
- 引言
- Thymeleaf概述
- Thymeleaf的特点
- 动静结合
- 多方言支持
- Spring Boot官方推荐
- 实战示例
- 添加项目依赖
- 创建控制器
- 创建模板页面
- 代码解释
- 启动应用,查看结果

引言
在现代Web开发中,服务器端模板引擎扮演着至关重要的角色。它们帮助开发者将业务逻辑与页面展示分离,从而提高代码的可维护性和可重用性。Thymeleaf,作为一个现代的Java模板引擎,以其自然模板语法和与Spring框架的紧密集成而受到开发者的青睐。
Thymeleaf概述
Thymeleaf是一个为Web和独立环境设计的服务器端Java模板引擎,支持HTML、XML、JavaScript和CSS模板。它与Spring框架高度集成,特别适合开发敏捷Web应用程序。Thymeleaf的自然模板语法易于阅读和维护,支持国际化和灵活的消息传递,使得开发者能够以声明式的方式处理UI组件,简化了页面的动态内容生成。
Thymeleaf的特点
动静结合
Thymeleaf允许开发者在没有后端支持的情况下直接在浏览器中查看页面的静态效果。一旦后端支持就绪,页面将展示经过程序处理的、包含完整数据的动态内容。
多方言支持
Thymeleaf提供了四种标准表达式,包括变量表达式${...}
、选择表达式*{...}
、消息表达式#{...}
、链接表达式@{...}
和片段表达式~{...}
。这些表达式使得在模板中处理变量、进行国际化、创建URL以及插入模板片段变得非常方便。
此外,Thymeleaf还支持OGNL(Object-Graph Navigation Language)和SpEL(Spring Expression Language)表达式,为开发者提供了更多的灵活性和强大的功能。
Spring Boot官方推荐
Spring Boot为Thymeleaf提供了默认配置和视图解析器,使得开发者无需额外配置即可在项目中使用Thymeleaf。Spring的背书预示着Thymeleaf在未来与其他模板引擎的竞争中将占据优势。
实战示例
添加项目依赖
首先,在pom.xml
文件中添加Thymeleaf的起步依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
创建控制器
在controller
子包中创建WelcomeController
类:
package net.huawei.hrsys_ssm.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;import java.util.Date;@Controller
public class WelcomeController {@RequestMapping("/")public String welcome(Model model) {model.addAttribute("currentDate", new Date());return "welcome";}
}
创建模板页面
在resources
目录下创建templates
子目录,并在其中创建welcome.html
文件:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>欢迎</title>
</head>
<body style="text-align: center;"><h1 style="color: red">欢迎访问泸州职业技术学院~</h1><h3 style="color: blue" th:text="${#dates.format(currentDate, 'yyyy年MM月dd日 HH:mm:ss')}">1999年9月9日 09:09:09</h3>
</body>
</html>
代码解释
<!DOCTYPE html>
声明了文档类型,告诉浏览器这是一个HTML5文档。<html lang="en">
定义了页面的语言为英语。xmlns:th="http://www.thymeleaf.org"
声明了Thymeleaf命名空间,允许在HTML中使用Thymeleaf的语法。<head>
部分包含了页面的元数据,如字符集定义和标题。<body>
部分定义了页面的主体内容,包括一个红色的<h1>
标题和一个蓝色的<h3>
段落。th:text
属性用于将currentDate
变量的值格式化后显示在<h3>
标签中。
启动应用,查看结果
启动应用后,访问http://localhost:8080
即可查看结果。
通过这个实战讲稿,你将能够快速上手Thymeleaf,并在你的Web项目中有效地使用它来构建动态页面。记得在实际开发中,根据项目需求调整和优化Thymeleaf的配置和使用方式。