package com.kingschan.blog.common.freemarker.template; import java.io.IOException; import java.io.Reader; import java.io.StringReader; import freemarker.cache.TemplateLoader; /** * * <pre> * 类名称:StringTemplateLoader * 类描述:模板加载器 * 创建人:陈国祥 (kingschan) * 创建时间:2014-9-5 上午10:20:17 * 修改人:Administrator * 修改时间:2014-9-5 上午10:20:17 * 修改备注: * @version V1.0 * </pre> */ public class StringTemplateLoader implements TemplateLoader { private String template; public StringTemplateLoader(String template){ this.template = template; if(null==template){ this.template = ""; } } @Override public void closeTemplateSource(Object templateSource) throws IOException { ((StringReader) templateSource).close(); } @Override public Object findTemplateSource(String name) throws IOException { return new StringReader(template); } @Override public long getLastModified(Object templateSource) { return 0; } @Override public Reader getReader(Object templateSource, String encoding) throws IOException { return (Reader) templateSource; } /* public static void main(String[] args) throws TemplateException, IOException { Configuration cfg = new Configuration(); cfg.setTemplateLoader(new StringTemplateLoader("欢迎:${user} <#if 1==2>xxx</#if>")); cfg.setDefaultEncoding("UTF-8"); Template template = cfg.getTemplate(""); Map root = new HashMap(); root.put("user", "Keven Chen"); StringWriter writer = new StringWriter(); template.process(root, writer); System.out.println(writer.toString()); }*/ }