freeMark模板工具类

package com.zgzh.hse.utils;

import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;

import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FreemarkerUtil {
    public final static String TempDir = File.separator + "templates" + File.separator;

    public static String generateOriginalString(String templateFilePath, Map<String, Object> datas)
            throws IOException, TemplateException {
        Configuration configuration = new Configuration(Configuration.VERSION_2_3_0);

        // 设置默认编码
        configuration.setDefaultEncoding("UTF-8");

        // 设置模板所在文件夹
        configuration.setClassForTemplateLoading(FreemarkerUtil.class, "/");

        // 生成模板对象
        Template template = configuration.getTemplate(templateFilePath);

        // 将datas写入模板并返回
        try (StringWriter stringWriter = new StringWriter()) {
            template.process(datas, stringWriter);
            stringWriter.flush();
            return stringWriter.getBuffer().toString();
        }
    }

    public static <T> String getRepString(String ftlName, List<T> dataLit)
            throws IOException, TemplateException {
        Map<String, Object> datas = new HashMap<>();
        datas.put("records", dataLit);

        String originStr = generateOriginalString(TempDir + ftlName, datas);
        return originStr.replaceAll("\\n", "").replaceAll("\\r", "");
    }
}

所搭配的模板

<?xml version="1.0" encoding="gb2312"?>
<RECORDS><#list records as record >
<RECORD>
<SAFECHART_ID><#if record.safechartId?? >${record.safechartId}</#if></SAFECHART_ID>
<ENTERPRISE_ID><#if record.enterpriseId?? >${record.enterpriseId}</#if></ENTERPRISE_ID>
<SAFECHART_NAME><#if record.safechartName?? >${record.safechartName}</#if></SAFECHART_NAME>
<COMPANY_CODE><#if record.companyCode?? >${record.companyCode}</#if></COMPANY_CODE>
<CREATE_TIME><#if record.createTimeStr?? >${record.createTimeStr}</#if></CREATE_TIME>
<CREATOR><#if record.creator?? >${record.creator}</#if></CREATOR>
<RECORD_STATUS><#if record.recordStatus?? >${record.recordStatus}</#if></RECORD_STATUS>
<IS_TEST><#if record.isTest?? >${record.isTest}</#if></IS_TEST>
</RECORD></#list>
</RECORDS>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值