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");
        }
  • 相关阅读:
    十大排序算法总结
    Java Web之监听器
    JVM 内存模型
    设计模式--装饰者模式和建造者模式
    Java Web之过滤器
    jsp-servlet篇(三)
    jsp- servlet篇(二)
    jsp- servlet篇(一)
    xml和xml解析
    k8s环境部署(一)
  • 原文地址:https://www.cnblogs.com/rubekid/p/3981153.html
Copyright © 2011-2022 走看看