使用 FreeMarker 视图模板引擎的 Spring Boot 示例:
1. 添加 FreeMarker 依赖
在 pom.xml 文件中添加 FreeMarker 依赖:
<> <>org.springframework.bootspring-boot-starter-freemarker
2. 创建视图 创建一个视图文件,例如 index.ftl,如下:
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Spring Boot Web Demotitle>
- head>
- <body>
- <1>${title}h1>
- <>
- <list names as name>
- <>${name}li>
- #list>
- ul>
- body>
- html>
在这个视图文件中,我们使用 FreeMarker 的模板语法来渲染 HTML 页面。其中 ${title}
和 ${names}
是 FreeMarker 的变量,通过后端控制器传递过来并渲染到页面上。
3. 创建控制器
在 Spring Boot 应用中,使用 @Controller 注解创建一个控制器,并使用 @RequestMapping 注解来映射 URL。
- @Controller
- @RequestMapping("/")
- public class HomeController {
-
- @GetMapping("")
- public String index(Model model){
- model.addAttribute("title", "Welcome to Spring Boot Web Demo");
- model.addAttribute("names", Arrays.asList("Alice", "Bob", "Charlie"));
- return "index";
- }
-
- }
控制器中的 index 方法用于渲染视图 index.ftl,并通过 Model 对象向视图传递数据。
4. 配置 FreeMarker
在 application.properties 文件中添加以下配置:
spring.freemarker.template-loader-path=classpath:/templates spring.freemarker.suffix=.ftl
template-loader-path
指定模板文件的加载路径,classpath:/templates
表示在 classpath 下的 templates 目录。suffix
设置模板文件的扩展名后缀为 .ftl
。5. 运行应用程序
启动应用程序,访问 http://localhost:8080/
,即可看到渲染后的页面。
在访问根路径时,HomeController 返回 index 视图文件,Spring Boot 在通过 FreeMarker 视图引擎将该视图渲染为 HTML 页面并返回给客户端。