从Spring Boot应用程序生成具有动态内容的文件的最佳模板引擎

Best templating engine to generate files with dynamic content from Spring Boot application

提问人:Anirban 提问时间:10/15/2023 更新时间:10/17/2023 访问量:57

问:

我要求生成包含一些动态内容的文本文件。就像我会生成一些内容,比如“你好<>,你好吗?”,其中名称将是动态的。我的应用程序是 Spring Boot 2.x 应用程序。我浏览了 Apache Velocity 和 Apache Freemarker 的大部分教程,但所有教程都谈到了生成 HTML 或 XML 文件。您能否指导我哪种框架最适合生成其他文件类型,如文本文件,并提示您从Spring Boot应用程序开始使用该文件类型?

spring-boot freemarker 速度 java-17

评论


答:

1赞 user699848 10/17/2023 #1

是什么阻止您使用 velocity 模板生成 txt 文件

模板.vm

"Hello  $name, how are you?"

Java 代码

import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;

import java.io.FileWriter;
import java.io.Writer;

public class VelocityTextFileGenerator {
    public static void main(String[] args) {
        try {
            Velocity.init();

            VelocityContext context = new VelocityContext();
            context.put("name", "My name");

            String templateFile = "template.vm";
            String outputFile = "output.txt";

            Writer writer = new FileWriter(outputFile);

            
            Velocity.mergeTemplate(templateFile, "UTF-8", context, writer);

            writer.close();

            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}