Boot简化了应用开发的框架,并且提供了内置的模板引擎支持,模板引擎是用于生成HTML动态内容的工具,通常与MVC(Model-View-)模式中的View部分结合使用,帮助开发者快速构建动态网页。 Boot通过自动配置功能,能够支持多种模板引擎。下面我们就来介绍一下常用的模板引擎技术。
常用的模板引擎
Boot 主要支持以下几种模板引擎
在 Boot中集成非常紧密,是大部分 Boot项目使用的默认模板引擎。,设计为在浏览器端和服务器端都能有效渲染 HTML。它的语法非常接近原生 HTML,同时支持国际化、模板继承和自定义标签库等功能,如下所示。
要使用,首先需要添加相关依赖
org.springframework.boot
spring-boot-starter-thymeleaf
然后,创建一个 HTML 文件,例如 index.htmlftl语法,并在其中使用 标签,如下所示。
Thymeleaf Example
Hello, Thymeleaf!
在控制器中设置数据
@Controller
public class MyController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("message", "Hello, Thymeleaf!");
return "index"; // 返回到 src/main/resources/templates/index.html
}
}
是一个基于模板的引擎,用于动态生成网页、邮件等内容。它有自己独立的模板语言,支持复杂的数据处理逻辑,但在语法上可能相对复杂,如下所示。
首先在pom.xml中添加依赖
org.springframework.boot
spring-boot-starter-freemarker
创建模板index.ftl,如下所示。
Freemarker Example
${message}
控制器中注入数据
@Controller
public class MyController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("message", "Hello, Freemarker!");
return "index"; // 对应 src/main/resources/templates/index.ftl
}
}
模板引擎它与 HTML 结构紧密结合,允许使用 脚本语言来创建模板文件。可以直接在模板中使用代码进行处理使用简单,没有过多的语法约束。
模板引擎的使用较为简单,但在实际开发中用得较少,通常适合那些大量使用脚本的项目。
是一种逻辑少的模板引擎,它强调保持简单,只提供基本的变量插值、条件判断和循环功能,广泛用于前后端分离项目,如下所示。
使用时需要添加以下依赖
org.springframework.boot
spring-boot-starter-mustache
JSP( Pages)
JSP是一种较为传统的Java模板技术,它允许在HTML中嵌入Java代码。虽然JSP在Java EE 中被广泛使用,但 Boot不推荐使用JSP,因为 Boot默认不提供JSP支持,并且配置 JSP需要手动设置特定的容器。
Boot 模板引擎的选择建议
如果需要构建一个现代Web应用,并且希望模板语言接近HTML,是首选。需要构建复杂的邮件或文档模板,或需要更多模板控制逻辑ftl语法,是一个不错的选择。
总结
Boot提供了丰富的模板引擎选择,开发者可以根据项目需求和个人偏好选择适合的模板引擎。是 Boot中最常用且集成最紧密的模板引擎,而适合更复杂的模板生成任务。