zoukankan      html  css  js  c++  java
  • FreeMarker辅助

    /**
     * FreeMarker 辅助类
     * @author Rubekid
     *
     */
    public class FreeMarkerHelper {
        
        /**
         * 模板文件存放目录
         */
        private static final String TEMPLATE_PATH = "/templates/freemarker/";
        
        /**
         * 获取模板内容
         * @param tpl
         * @param rootMap
         * @return
         * @throws IOException
         * @throws TemplateException
         */
        public static String fetch(String tpl, Object rootMap) throws IOException, TemplateException{
            Template template = getTemplate(tpl);
            Writer out= new StringWriter();
            template.process(rootMap, out);
            String result = out.toString();
            out.flush();
            return result;
        }
        
        /**
         * 输出显示
         * @param tpl
         * @param rootMap
         * @param out
         * @throws IOException
         * @throws TemplateException
         */
        public static void display(String  tpl, Object rootMap, Writer out) throws IOException, TemplateException{
            Template template = getTemplate(tpl);
            template.process(rootMap, out);
            out.flush();
        }
        
        /**
         * 获取模板
         * @param tpl
         * @return
         * @throws IOException
         */
        private static Template getTemplate(String tpl) throws IOException{
            Configuration config = new Configuration();
            String path = WebUtils.getContextPath() + TEMPLATE_PATH;
            String name =  tpl;
            int pos = tpl.lastIndexOf("/");
            if(pos > -1){
                path += tpl.substring( 0, pos+1 );
                name += tpl.substring( pos+1 );
            }
            
            config.setDirectoryForTemplateLoading(new File(path));
            config.setObjectWrapper(new DefaultObjectWrapper());
            return  config.getTemplate(name ,"utf-8");
        }
        
        /**
         * 获取模板(通过字符串)
         * @param source
         * @throws IOException 
         */
        private static Template getTemplate(String name, String source) throws IOException{
            Configuration config = new Configuration();
            StringTemplateLoader loader = new StringTemplateLoader();
            loader.putTemplate(name, source);
            config.setTemplateLoader(loader);
            return config.getTemplate(name, "utf-8");
        }
  • 相关阅读:
    32位和64位系统区别及int字节数
    C++默认参数不能是一个引用
    sprintf的缓冲区溢出
    linux之cp/scp命令+scp命令详解
    linux文件属性详细说明
    linux tar打包
    sed命令
    常用linux命令
    C++ 类T T t;构造时分配的内存在静态数据区 T t=new T()分配的内存在堆 这样说对吗
    Dom事件的三种绑定方式
  • 原文地址:https://www.cnblogs.com/rubekid/p/3981153.html
Copyright © 2011-2022 走看看