• 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文件所在目录 )

           示例:

         

  • 相关阅读:
    Extjs combobox
    Extjs中全键盘操作,回车跳到下一单元格
    MVC调试时遇到的URL问题
    不用插件 让Firefox 支持网页翻译
    aspNet各种模块介绍
    IntelliJ IDEA 激活
    The method getTextContent() is undefined for the type Node 错误解决
    svn服务器地址变更,客户端更改服务器地址方法
    IntelliJ IDEA中TortoiseSVN修改服务器地址的方法
    修改MyEclipse中的SVN地址
  • 原文地址:https://www.cnblogs.com/JealousGirl/p/exportMethod.html
Copyright © 2020-2023  润新知