FreeMarker(又称为 FreeMarker Template,简称为 FTL)是一种用于构建模板的开源模板引擎。在 Spring Boot 中,FreeMarker 模板通常用于生成动态的文本内容,比如 HTML 页面。
FreeMarker 模板使用基于标签的语法,类似于 HTML。模板中可以包含动态数据,这些数据可以由 Java 对象提供。Spring Boot 集成了 FreeMarker,你可以通过配置视图解析器(View Resolver)来使用 FreeMarker 模板引擎。
以下是使用 FreeMarker 模板的基本步骤:
-
添加 FreeMarker 依赖:
-
在 Maven 项目中,需要添加 FreeMarker 依赖。在
pom.xml
文件中添加以下依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>
-
如果是 Gradle 项目,添加如下依赖:
implementation 'org.springframework.boot:spring-boot-starter-freemarker'
-
在 Maven 项目中,需要添加 FreeMarker 依赖。在
-
配置 FreeMarker:
-
Spring Boot 默认会根据约定的目录结构(
src/main/resources/templates/
)查找 FreeMarker 模板文件。你可以在application.properties
或application.yml
中进行一些基本的 FreeMarker 配置:# FreeMarker 模板配置 spring.freemarker.enabled=true spring.freemarker.template-loader-path=classpath:/templates/ spring.freemarker.suffix=.ftl
-
上述配置中,
spring.freemarker.template-loader-path
指定了模板文件的位置,spring.freemarker.suffix
指定了模板文件的后缀。
-
Spring Boot 默认会根据约定的目录结构(
-
创建 FreeMarker 模板文件:
-
在指定的模板文件目录下,创建 FreeMarker 模板文件,文件的后缀通常为
.ftl
。<!-- 示例模板文件 src/main/resources/templates/welcome.ftl --> <html> <head> <title>Welcome Page</title> </head> <body> <h1>Welcome ${name}!</h1> </body> </html>
-
在指定的模板文件目录下,创建 FreeMarker 模板文件,文件的后缀通常为
-
在控制器中使用 FreeMarker 模板:
-
在 Spring Boot 中创建一个控制器,使用
@Controller
和@RequestMapping
注解来处理请求,并通过Model
对象传递数据到模板。import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class WelcomeController { @RequestMapping("/welcome") public String welcome(Model model) { model.addAttribute("name", "John"); return "welcome"; // 返回模板文件名(不带后缀) } }
-
上述代码中,
model.addAttribute("name", "John")
将数据传递到模板中,return "welcome"
表示返回名为welcome.ftl
的模板文件。
-
在 Spring Boot 中创建一个控制器,使用
Was this helpful?
0 / 0