ConfigurationInstance.java
1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.cjs.cms.util.file;
import java.io.File;
import java.net.URI;
import java.util.Locale;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
/**
* FreeMarker工厂
*
* @author trunks
* @version $Id: ConfigurationInstance.java, v 0.1 2012-3-7 下午03:46:13 trunks
* Exp $
*/
public class ConfigurationInstance extends Configuration {
private static ConfigurationInstance instance;
private static Logger logger = LogManager.getLogger(ConfigurationInstance.class);
private ConfigurationInstance() {
super();
}
/**
* 获取FreeMarker实例<br>
* 模板文件放在/resources/tpl目录下
*/
public static synchronized ConfigurationInstance getInstance() {
if (instance == null) {
try {
URI path = ConfigurationInstance.class.getResource("/ftl").toURI();
instance = new ConfigurationInstance();
instance.setOutputEncoding("UTF-8");
instance.setLocale(Locale.CHINA);
instance.setObjectWrapper(new DefaultObjectWrapper());
instance.setDirectoryForTemplateLoading(new File(path));
} catch (Exception e) {
logger.error("初始化FreeMarker出错:" + e.getMessage());
}
}
return instance;
}
}