最新 freemarker 2.3.26 解析模板 返回字符串

public class MTagTool {

 

    public static final Configuration cfg;

 

    static {

       cfg = new Configuration(Configuration.VERSION_2_3_26);

       cfg.setSharedVariable("getProductName", new GetProductName());//自定义方法供调用  

       cfg.setClassForTemplateLoading(MTagTool.class, "/com/mch/jsptag/template");

       cfg.setLocale(Locale.CHINA);

       cfg.setDefaultEncoding("UTF-8");

       cfg.setClassicCompatible(true);// 处理空值为空字符串

 

    }

 

    public String uploadTag(Object data) {

       Writer out = new StringWriter(2048);// 定义一个字符串 Writer 对象,用于获得解析后的字符串

       try {

           Template uploadTagTemplate = cfg.getTemplate("upload.htm");// 通过 Configuration 对象获得对应模板对象

           uploadTagTemplate.process(data, out);

       } catch (Exception e) {

           e.printStackTrace();

           return null;

       }

       return out.toString();

    }

}