网站首页 > 技术文章 正文
Spring Boot简化了Spring应用开发的框架,并且提供了内置的模板引擎支持,模板引擎是用于生成HTML动态内容的工具,通常与MVC(Model-View-Controller)模式中的View部分结合使用,帮助开发者快速构建动态网页。Spring Boot通过自动配置功能,能够支持多种模板引擎。下面我们就来介绍一下常用的模板引擎技术。
常用的模板引擎
Spring Boot 主要支持以下几种模板引擎
- Thymeleaf
- Freemarker
- Groovy
- Mustache
- JSP(JavaServer Pa
Thymeleaf
Thymeleaf在Spring Boot中集成非常紧密,是大部分Spring Boot项目使用的默认模板引擎。,设计为在浏览器端和服务器端都能有效渲染 HTML。它的语法非常接近原生 HTML,同时支持国际化、模板继承和自定义标签库等功能,如下所示。
要使用Thymeleaf,首先需要添加相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
然后,创建一个 HTML 文件,例如 index.html,并在其中使用 Thymeleaf 标签,如下所示。
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Thymeleaf Example</title>
</head>
<body>
<h1 th:text="${message}">Hello, Thymeleaf!</h1>
</body>
</html>
在控制器中设置数据
@Controller
public class MyController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("message", "Hello, Thymeleaf!");
return "index"; // 返回到 src/main/resources/templates/index.html
}
}
Freemarker
Freemarker是一个基于模板的引擎,用于动态生成网页、邮件等内容。它有自己独立的模板语言,支持复杂的数据处理逻辑,但在语法上可能相对复杂,如下所示。
首先在pom.xml中添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
创建Freemarker模板index.ftl,如下所示。
<!DOCTYPE html>
<html>
<head>
<title>Freemarker Example</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>
控制器中注入数据
@Controller
public class MyController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("message", "Hello, Freemarker!");
return "index"; // 对应 src/main/resources/templates/index.ftl
}
}
Groovy
Groovy 模板引擎它与 HTML 结构紧密结合,允许使用 Groovy 脚本语言来创建模板文件。可以直接在模板中使用Groovy代码进行处理使用简单,没有过多的语法约束。
Groovy模板引擎的使用较为简单,但在实际开发中用得较少,通常适合那些大量使用Groovy脚本的项目。
Mustache
Mustache是一种逻辑少的模板引擎,它强调保持简单,只提供基本的变量插值、条件判断和循环功能,广泛用于前后端分离项目,如下所示。
Mustache 使用时需要添加以下依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mustache</artifactId>
</dependency>
JSP(JavaServer Pages)
JSP是一种较为传统的Java模板技术,它允许在HTML中嵌入Java代码。虽然JSP在Java EE 中被广泛使用,但Spring Boot不推荐使用JSP,因为Spring Boot默认不提供JSP支持,并且配置 JSP需要手动设置特定的servlet容器。
Spring Boot 模板引擎的选择建议
如果需要构建一个现代Web应用,并且希望模板语言接近HTML,Thymeleaf是首选。需要构建复杂的邮件或文档模板,或需要更多模板控制逻辑,Freemarker是一个不错的选择。
总结
Spring Boot提供了丰富的模板引擎选择,开发者可以根据项目需求和个人偏好选择适合的模板引擎。Thymeleaf是Spring Boot中最常用且集成最紧密的模板引擎,而Freemarker适合更复杂的模板生成任务。
猜你喜欢
- 2024-10-21 Spring Boot中添加Thymeleaf模板 springboot 添加filter
- 2024-10-21 Spring Boot 的静态资源处理 springboot静态资源配置
- 2024-10-21 Spring Boot 系列@ControllerAdvice 拦截异常并统一处理
- 2024-10-21 Spring Boot 入门教程 | 图文讲解
- 2024-10-21 牛刀小试——五分钟入门Spring Boot
- 2024-10-21 我教你初识SpringBoot——写HelloWorld
- 2024-10-21 Springboot静态资源的访问 springboot2.0静态资源
- 2024-10-21 每日分享- springboot 微服务项目如何集成 html
- 2024-10-21 11:SpringBoot整合JavaMail实现邮件发送功能
- 2024-10-21 SpringBoot中异步请求和异步调用(看这一篇就够了)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)