Spring Boot 集成 FreeMarker 教程
在现代 Java 应用程序开发中,Spring Boot 已经成为一种流行的框架,而 FreeMarker 则是一种广泛使用的模板引擎,特别适用于生成 HTML 页面。本文将指导您如何在 Spring Boot 项目中集成 FreeMarker,并提供代码示例。
一、项目环境准备
首先,确保您的开发环境已安装 Java 开发工具包 (JDK) 和 Maven。接下来,可以使用以下步骤创建一个新的 Spring Boot 项目。
- 创建一个新项目
使用 Spring Initializr(https://start.spring.io/)创建一个新的 Spring Boot 项目。在依赖项中选择 “Spring Web”和“FreeMarker”。
- 导入项目
使用 IDE(如 IntelliJ IDEA 或 Eclipse)导入生成的项目。
二、项目结构
创建完成后,您会看到以下的基本项目结构:
src
├── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── freemarker
│ │ ├── FreemarkerApplication.java
│ │ └── controller
│ └── resources
│ ├── static
│ ├── templates
│ └── application.properties
└── test
三、配置 FreeMarker
在 src/main/resources/application.properties
文件中添加以下配置:
spring.freemarker.template-loader-path=classpath:templates/
spring.freemarker.cache=false
template-loader-path
指定 FreeMarker 模板文件的位置。在这里,模板文件将放在resources/templates
目录下。cache
属性设置为false
,用于开发时避免缓存,以便每次修改后可以立即看到效果。
四、创建模板文件
在 src/main/resources/templates
目录下,创建一个名为 index.ftl
的 FreeMarker 模板文件,内容如下:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FreeMarker 示例</title>
</head>
<body>
<h1>欢迎来到 FreeMarker 示例页面</h1>
<p>当前时间: ${currentTime}</p>
</body>
</html>
五、编写 Controller
在 src/main/java/com/example/freemarker/controller
目录下,创建一个名为 IndexController.java
的 Java 类:
package com.example.freemarker.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.Date;
@Controller
public class IndexController {
@GetMapping("/")
public String index(Model model) {
model.addAttribute("currentTime", new Date());
return "index"; // 返回模板名称
}
}
六、运行项目
在项目的主类 FreemarkerApplication.java
中,确保有以下代码以启动 Spring Boot 应用程序:
package com.example.freemarker;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class FreemarkerApplication {
public static void main(String[] args) {
SpringApplication.run(FreemarkerApplication.class, args);
}
}
七、测试结果
运行 Spring Boot 应用程序后,打开浏览器访问 http://localhost:8080
,您应该能够看到渲染的 FreeMarker 模板,显示当前的时间。
八、总结
通过以上步骤,我们成功地在 Spring Boot 项目中集成了 FreeMarker。FreeMarker 是一个强大且灵活的模板引擎,可以用于生成动态内容。通过熟练地运用 FreeMarker,您可以大大提升 Web 项目的开发效率。
希望这篇文章能够帮助您更好地理解 Spring Boot 集成 FreeMarker 的过程,欢迎您在实际项目中尝试更多的功能。如果在使用过程中遇到问题,建议查阅 Spring 和 FreeMarker 的官方文档以获取更多帮助。