Java导出freemarker的三种方法

   在上一篇呢,我将导出word文档的想法与思路以及实现功能的代码分享了一下,在这里, 我想说的是我对导出freemarker模板路径的三种方法的理解和认知。  有错误的话希望大家帮忙指正

   在接下来我会使用 ftl文件 代替 模板文件

1. public void setClassForTemplateLoading(Class clazz, String pathPrefix);
       根据类路径加载ftl文件。  路径加载模式为:当前类所在路径 + ftl文件所在文件夹

            参数一:指定当前类。  可以填写成 this.getClass()  也可以填写为 类名.class 。   在这里需要注意的是,this.getClass()  一般用于非静态类中使用,而 类名.class 常用于静态类中使用

            参数二:ftl文件所在路径。

      使用这个方法的前提是 当前类 是 ftl文件 所在目录 的 父目录 。

      示例:

   

PS:

   有人说可以使用System.getProperty("user.dir") 路径直接指到项目目录下,然后再写剩下的路径,不过楼主试了试,没成功   有成功的可以告诉楼主我哦


2. public void setServletContextForTemplateLoading(Object servletContext, String path);

        根据 servlet 加载ftl文件。  路径加载模式:获取的上下文路径 + ftl文件所在文件夹(这个我也不是很确定,如果有人做出来了希望可以告诉我的,我的理解是否正确)   

            参数一:应用上下文。 

            参数二:相对于 classpath 的 ftl文件 所在路径。

        示例:

  

3. public void setDirectoryForTemplateLoading(File dir) throws IOException;

       这个应该就不用多说了吧。  参数:new File( ftl文件所在目录 )

       示例:

     

原文地址:https://www.cnblogs.com/JealousGirl/p/exportMethod.html