FreeMarker模板使用

package com.piccapp.util;

import java.io.IOException;
import java.io.StringWriter;
import java.util.Map;

import net.sf.json.JSONObject;

import com.sinosoft.base.Log.Log;

import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
/**
 * 组织freeMarker工具
 * 开始时间:2014-10-27 by ligang
 * 上线时间:
 */
public class FreeMarkerUtil {
    private Configuration cfg = null;
    private static FreeMarkerUtil freeMarkerUtil= null;
    private static Template  getInstance(String filename){
        Template tmp = null;
        if(freeMarkerUtil==null){
            freeMarkerUtil=new FreeMarkerUtil();
        }
        try {
            tmp = freeMarkerUtil.cfg.getTemplate(filename);
            tmp.setEncoding("UTF-8");
        } catch (IOException e) {
            Log.err("freeMarker", "找不到模板");
            e.printStackTrace();
        }
        return tmp;
    }
    private FreeMarkerUtil() {
           cfg = new Configuration();
           try {
           cfg.setClassForTemplateLoading(this.getClass(),"/freeMarkerModel/");
           } catch (Exception e) {
               Log.err("freeMarker", "配置错误!");
           }
          }
    public static String modelToString(String modelname,Map param){
        Template tmplTemplate = FreeMarkerUtil.getInstance(modelname);
        StringWriter sw = new StringWriter();
        String xmlTextString = "";
        try {
            tmplTemplate.process(param, sw);
            xmlTextString=sw.toString();
            sw.close();
        } catch (TemplateException e) {
            Log.err("freeMarker", "生成XML失败");
            e.printStackTrace();
        } catch (IOException e) {
            Log.err("freeMarker", "写入失败");
            e.printStackTrace();
        }
        return xmlTextString;
    }
}

process方法可以使json或者Map

转载于:https://www.cnblogs.com/lgtrajectory/p/4069343.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值