首页 > 其他分享 >如何用freemark根据指定模板生成文件

如何用freemark根据指定模板生成文件

时间:2023-02-25 16:24:39浏览次数:35  
标签:map description cfg freemark 指定 put new 模板

1.添加maven

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

2. 添加如下代码:

        Configuration cfg = new Configuration();
         cfg.setDefaultEncoding("utf-8");
         Template template = null;
         //加载模板的路径
         cfg.setDirectoryForTemplateLoading(new File(SecurityUtilities.getSystemProperty("user.dir")+File.separator+"src/main/resources/templates"));
         //模板名称获取
         template = cfg.getTemplate("Request2.ftl");

         //模板里的参数
         Map<String, Object> map = new HashMap<>();
         map.put("description","dddd");
         map.put("paramsGenerator","kkkkkk");
         map.put("dataType","666ddd");
         map.put("description","dddd");
         map.put("paramster","dduu");
         map.put("fieldName","ddkk");


        StringWriter result = new StringWriter(); //接收模板和参数渲染后的结果
        template.process(map, result);


        //将结果输出到指定的的路径
        OutputStreamWriter oWriter = new OutputStreamWriter(new FileOutputStream("D:\\data\\b.java"), "utf-8");
        BufferedWriter bufferedWriter = new BufferedWriter(oWriter);
        bufferedWriter.write(result.toString());
        bufferedWriter.close();
        oWriter.close();

 

模板:

 

 内容:

  
/**
* ${description}
*/
@ApiModelProperty(value = "${description}")
private ${paramsGenerator};

public ${dataType} get${fieldName}() {
return ${paramster};
}
最终输出结果:

 

 

 

 










标签:map,description,cfg,freemark,指定,put,new,模板
From: https://www.cnblogs.com/yangxiaohui227/p/17154673.html

相关文章

  • js实战-删除指定行、控制键盘的输入
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录笔记以供日后回顾删除指定行、控制键盘的输入的视频链接个人总结知识点1.本节主要目的:(1)当......
  • 简易Map模板
    非红黑树,排序+二分搜索,查找修改O(logN),插入删除O(N)#ifndefMAP_H#defineMAP_H#include"main.h"/*----------Custom----------*/typedefstruct{short*Ad......
  • 视图解析、模板引擎
    视图解析指springboot在处理完请求想要跳转到某一个页面的过程,转发或者重定向,跳转到某个页面springboot默认不支持JSP,需要引入第三方模板引擎技术实现页面渲染、跳转。......
  • svg symbol模板
    svgsymbol<body><!--使用svg--><svgclass="svg-icontext-blue-500"style="font-size:5rem"aria-hidden="true"><usexlink:href="#icon-photo"fill/></......
  • 吃透8图1模板,人人可以做架构
    文章持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+......
  • 分享一个基本的分页模板(类似的分页都有工具,注意思想)
    publicclassBasePage<E>implementsSerializable{privatestaticfinallongserialVersionUID=1L;privateIntegerpageNo;privateIntegerpageSi......
  • 模板合集
    模板算法冒泡排序voidbubble_sort(int*a,intn){ boolf=1; while(f){ boolf=0; for(inti=1;i<n;i++) if(a[i]>a[i+1])swap(a[i],a......
  • PageOffice在线打开编辑Word文件获取指定区域的数据并且保存整篇文件
    一、首先在word文件中给需要在后台获取数据的区域设置以PO_开头的书签。二、通过pageoffice在线打开文件并编辑保存。有两种打开文件的模式1、普通编辑模式(docNormalEdi......
  • (3). Vscode 配置模板输出
    1.点击设置,选择配置用户代码片段2.选择vue.json3.配置快捷模板......
  • python基于word模板批量生成word文件
    1、需要用到docxtpl库,用于操作word模板安装:pipinsatlldocxtpl处理之前的word模板 处理后的word 下面直接上代码揭开它的神秘面纱:第一步,读取excel中的内容imp......