模板引擎freemarker动态更新生成JSON模板字段值,Java

Posted zhangphil

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板引擎freemarker动态更新生成JSON模板字段值,Java相关的知识,希望对你有一定的参考价值。

java模板引擎freemarker动态更新生成JSON模板字段值

(1)pom.xml引入:

        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.31</version>
        </dependency>

(2)建立一个json模板文件存储json_template.json:


  "name": "$name",
  "year": $year

(3)开始以(2)中的json模板动态更新、生成json对象数据:

        import freemarker.template.Configuration;
        import freemarker.template.Template;
        import freemarker.template.TemplateExceptionHandler;



        Configuration cfg= new Configuration(Configuration.VERSION_2_3_29);
        try 
            cfg.setDirectoryForTemplateLoading(new File("./"));
         catch (IOException e) 
            throw new RuntimeException(e);
        

        cfg.setDefaultEncoding("UTF-8");
        cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
        cfg.setLogTemplateExceptions(false);
        cfg.setWrapUncheckedExceptions(true);
        cfg.setFallbackOnNullLoopVariable(false);


        try 
            Template temp = cfg.getTemplate("./json_template.json");

            Map<String, String> values = new HashMap<>();
            values.put("name","zhangphil");
            values.put("year","2222");

            StringWriter writer = new StringWriter();
            temp.process(values, writer);
            String result = writer.toString();
            System.out.println(result);
         catch (Exception e) 
            throw new RuntimeException(e);
        

输出:


  "name": "zhangphil",
  "year": 2222

以上是关于模板引擎freemarker动态更新生成JSON模板字段值,Java的主要内容,如果未能解决你的问题,请参考以下文章

freemarker--模板引擎

Java模板引擎 FreeMarker

FreeMarker 快速入门

freemarker生成go语言

java动态生成word,该怎么解决

前端数据模版引擎的总结