java工具类-FreeMarker

package com.huawei.it.citools.utils;

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

import org.apache.log4j.Logger;

import com.huawei.it.citools.commons.ApplicationException;
import com.huawei.it.citools.commons.CiConstants;

import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
 
public class FreeMarkerUtils
{

private static Logger LOGGER = Logger.getLogger (FreeMarkerUtils.class);

private static FreeMarkerUtils freemarkerUtils = new FreeMarkerUtils();

private Configuration configuration;

private FreeMarkerUtils()
    {
        try
        {
            File currFile = new File ("");
            String templatePath = currFile.getCanonicalPath() + "/template/";

LOGGER.info ("freemarker template file path : " + templatePath);

configuration = new Configuration();
            File path = new File (templatePath);
            configuration.setDirectoryForTemplateLoading (path);
            configuration.setDefaultEncoding ("UTF-8");
        }
        catch (Exception e)
        {
            LOGGER.info ("freemarker configuration fail....." + e);

throw new ApplicationException ("freemarker configuration fail.....", e);
        }
    }
 
    public String process (Map rootMap, String ftlName) throws IOException, TemplateException
    {
        StringWriter sw = new StringWriter();
        try {
            Template template = configuration.getTemplate (ftlName);
            template.process (rootMap, sw);
            String result = sw.toString();
            return result;
        } finally {
            sw.close();
        }
    }
    public static FreeMarkerUtils newInstance()
    {
        return freemarkerUtils;
    }
}

java工具类-FreeMarker

时间: 2024-10-07 19:09:04

java工具类-FreeMarker的相关文章

第一章 Java工具类目录

在这一系列博客中,主要是记录在实际开发中会常用的一些Java工具类,方便后续开发中使用. 以下的目录会随着后边具体工具类的添加而改变. 浮点数精确计算 第二章 Java浮点数精确计算

Java工具类:给程序增加版权信息

我们九天鸟的p2p网贷系统,基本算是开发完成了.   现在,想给后端的Java代码,增加版权信息.   手动去copy-paste,太没有技术含量. 于是,写了个Java工具类,给Java源文件增加版权信息.   源代码,开头的注释,就是版权描述.详细实现,就看代码吧.  /*  *Copyright ? 2015 JiuTianNiao  *武汉九天鸟科技有限公司  *http://JiuTianNiao.com  *All rights reserved.  */ package com.j

Java工具类

目录                                                                                             Math Random Date Carlendar DateFormat SimpleDateFoemat Comparator Clone Math                                                                               

java工具类系列 (四.SerializationUtils)

java工具类系列 (四.SerializationUtils) SerializationUtils该类为序列化工具类,也是lang包下的工具,主要用于序列化操作 import java.io.Serializable;

java工具类-邮件发送

mail-1.4.jar package com.huawei.it.citools.mail; import java.util.Date;import java.util.List;import java.util.Properties; import javax.mail.Address;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.MessagingException;import javax

java工具类-读配置文件

///读配置文件 import java.io.InputStream;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Properties;import java.util.Set;public class PropertiesUtils{ private static Map<String, String> propertiesMap = new HashMa

java工具类-excel jxl

jxl-2.6.9.14.jarimport net.sf.jxls.transformer.XLSTransformer;//jxls-core-1.0.2.jarimport java.io.File; public File inputFile;     Workbook workbook = WorkbookFactory.create(inputFile);    Sheet sheet0 = workbook.getSheetAt(0);        int rowNum = sh

应用Java去除一维数组中的重复数字,且不借助任何java工具类。

昨天有个朋友突然问了我这个问题,一时我竟然无言以对,刚开始就是局限于没办法记录重复位置,作为刚刚接触java语言的菜鸟,绞尽脑汁地一最笨的方法实现了,还望大神指点出更好的方法. public class Test01 { public static void main(String[] args) { test1(); } /** * 方法名: test1 * 方法描述:一位数组去除重复的数字,不借助java工具类,方法比较笨拙,还请高手指点 * @param: Test01 * @return

排名前 16 的 Java 工具类

在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流.socket.或者selector且不抛出异常,通常放在finally块 toString:转换IO流. Uri. byte[]为String copy:IO流数据复制,从输入流写到输出流中,最大支