MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

详细介绍一下Spring Boot3整合FreeMarker引擎技术?

2025-03-20 15:16 huorong 精选文章 2 ℃ 0 评论

FreeMarker是一个使用广泛的开源的模板引擎框架,主要用于在Java应用程序中对文本生成的输出,比较常用的场景就是动态网页、电子邮件模板、配置文件等等。通过模板与数据模型的结合,生成最终我们需要的内容。在很多代码生成框架中也是通过这种方式进行代码的生成。下面我们就来详细的介绍一下如何在Spring Boot3中整合FreeMarker技术。

FreeMarker简介

FreeMarker本质上是一个模板引擎,通过将数据模型(通常是Java对象)和模板(通常是.ftl文件)结合生成文本输出,在FreeMarker的输出中它并不关心应用程序的业务逻辑或数据模型,只是简单的根据传递的模板和数据生成最终的输出。所以从本质上来讲,它就是一个模板提供工具,下面我们就来看看具体的操作步骤。

如何在Spring Boot3中使用?

创建项目并添加FreeMarker依赖

首先,需要创建一个Spring Boot3的项目,然后在POM文件中添加上FreeMarker的配置依赖。


    org.springframework.boot
    spring-boot-starter-freemarker

通过上面的依赖,就可以自动的将FreeMarker与Spring Boot进行整合,接下来就是添加FreeMarker的视图解析配置,如下所示。

spring:
  freemarker:
    prefix: classpath:/templates/
    suffix: .ftl
    charset: UTF-8
    cache: false

这样在Spring Boot中就会自动添加上FreeMarkerConfigurerFreeMarkerViewResolver等配置,然后会从src/main/resources/templates路径下找到.ftl后缀的文件进行加载并解析。

创建FreeMarker模板

接下来就是在src/main/resources/templates目录下创建扩展名是.ftl的FreeMarker模板文件,如下所示。




    
    
    Hello


    

Hello, ${name}!

创建Controller处理请求

接下来就通过SpringBoot的Controller的@Controller注解来处理映射并返回对应的动态模板信息,如下所示。

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("/hello")
    public String hello(Model model) {
        model.addAttribute("name", "Spring Boot");
        return "hello"; // 返回模板文件名,不需要后缀
    }
}

总结

通过上面的配置,我们就可以完成Spring Boot 3和FreeMarker的整合,由于Spring Boot3中默认就支持了对于FreeMarker的配置,所以通过简单的配置就可以完成与FreeMarker的整合,如果需要更加复杂的自定义功能,我们可以通过自定义的配置来让FreeMarker提供更加丰富的功能支持。

Tags:freemarker循环list

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言