zoukankan      html  css  js  c++  java
  • java根据freeMark模板生成内容

    根据ftl模板生成文件内容可以用来生成代码模板,如下所示:

    aa.ftl

    name : ${name}  
    age : ${age} 

    aa.java

    package mall_tools;
    
    import java.io.File;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.io.Writer;
    import java.util.HashMap;
    import java.util.Map;
    
    import freemarker.template.Configuration;
    import freemarker.template.Template;
    import freemarker.template.TemplateException;
    
    public class Aaa {
    
        public static void main(String[] args) throws IOException, TemplateException {
    
            // 1.创建配置实例Cofiguration
            Configuration cfg = new Configuration();
    
            // 2.设置模板文件目录
            // (1)src目录下的目录(template在src下)
            // cfg.setDirectoryForTemplateLoading(new File("src/template"));
            // (2)完整路径(template在src下)
            // cfg.setDirectoryForTemplateLoading(new File(
            // "D:/cpic-env/workspace/javaFreemarker/src/template"));
            // cfg.setDirectoryForTemplateLoading(new File("src/template"));
            // (3)工程目录下的目录(template/main在工程下)--推荐
            cfg.setDirectoryForTemplateLoading(new File("./src/main/resources"));
            // cfg.setObjectWrapper(new DefaultObjectWrapper());
            // 获取模板(template)
            Template template = cfg.getTemplate("aa.ftl");
            // 建立数据模型(Map)
            Map<String, Object> root = new HashMap<>();
            root.put("name", "cxl");
            root.put("age", "25");
            // 获取输出流(指定到控制台(标准输出))
            Writer out = new OutputStreamWriter(System.out);
            // StringWriter out = new StringWriter();
            // System.out.println(out.toString());
            // 数据与模板合并(数据+模板=输出)
            template.process(root, out);
            out.flush();
        }
    }

    生成结果:

    name : cxl
    age : 25

  • 相关阅读:
    Apache Kylin1.5.2.1之订单案例详细构建流程
    全网最详细Apache Kylin1.5安装(单节点)和测试案例
    Kylin介绍
    类型本质---进阶编程篇(二)
    运行机制---进阶编程篇(一)
    前言---进阶编程篇(零)
    穆里尼奥:伊布居然没得过金球奖
    htmlUnit加持,网络小蜘蛛的超级进化
    formData批量上传的多种实现
    自定义input文件上传样式
  • 原文地址:https://www.cnblogs.com/wulm/p/10894283.html
Copyright © 2011-2022 走看看