Freemarker提供了3种加载模板目录的方法。 它使用Configuration类加载模板。

三种方法分别是:

public void setClassForTemplateLoading(Class clazz, String pathPrefix);

public void setDirectoryForTemplateLoading(File dir) throws IOException;

public void setServletContextForTemplateLoading(Object servletContext, String path);

第一种:基于类路径,HttpWeb包下的framemaker.ftl文件
  configuration.setClassForTemplateLoading(this.getClass(), "/HttpWeb");

configuration.getTemplate("framemaker.ftl"); //framemaker.ftl为要装载的模板 
第二种:基于文件系统

configuration.setDirectoryForTemplateLoading(new File("/template"))

configuration.getTemplate("framemaker.ftl"); //framemaker.ftl为要装载的模板

第三种:基于Servlet Context,指的是基于WebRoot下的template下的framemaker.ftl文件

HttpServletRequest request = ServletActionContext.getRequest();

configuration.setServletContextForTemplateLoading(request.getSession().getServletContext(), "/template");

configuration.getTemplate("framemaker.ftl"); //framemaker.ftl为要装载的模板

特别注意:tomcat启动和jar包启动加载的位置不同!

Configuration configuration = new Configuration();configuration.setDefaultEncoding("utf-8");/** 加载模板 **///这个方法在eclipse跑是OK 的 打jar包部署获取不到模版/*File file = ResourceUtils.getFile("classpath:templates");configuration.setDirectoryForTemplateLoading(file);*///     这个方法在eclipse跑和打jar包部署都可以获取到模版configuration.setClassForTemplateLoading(this.getClass(), "/templates");Template template = configuration.getTemplate("研判报告上报模板.ftl");

转载自:https://blog.csdn.net/gtlishujie/article/details/52300381

freemarker加载模板目录的方法相关推荐

  1. Freemarker提供了3种加载模板目录的方法

    Freemarker提供了3种加载模板目录的方法. 它使用Configuration类加载模板. 三种方法分别是: public void setClassForTemplateLoading(Cla ...

  2. freemarker加载模板的三种方法

    过了几天再看这篇文章感觉自己写的也太不走心的,本渣渣决定好好解释一下( ̄▽ ̄)" 加载模板的三种方法我觉得下面那个连接中大家都可以看懂我就之所以下模板的流程吧 先建一个word文档根据画出你 ...

  3. Lodop 动态加载模板,动态加载数据

    最近需要使用Lodop打印控件,所以就研究了一下,期间从网上找了诸多的东西,基本全是对HTML进行打印的,没有找到我想要的,就只好自己动手,丰衣足食. 这篇文章主要讲述的是Lodop与数据的结合使用, ...

  4. webview 加载php页面内容,WebView加载优化的方法介绍

    本篇文章给大家带来的内容是关于WebView加载优化的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. WebView加载优化 当WebView的使用频率变得频繁的时候,对于其 ...

  5. php 从根目录 开始创建,php创建多级目录的方法

    php创建多级目录的方法 本文实例讲述了php创建多级目录的方法.分享给大家供大家参考.具体实现方法如下: /* 写出一个能创建多级目录的PHP函数 */ function createdirlist ...

  6. python检测文件夹中新增文件_python检测文件夹变化,并拷贝有更新的文件到对应目录的方法...

    检测文件夹,拷贝有更新的文件到对应目录 2016.5.19 亲测可用,若有借鉴请修改下文件路径: 学习python小一个月后写的这个功能,属于初学,若有大神路过,求代码优化~ newcopy.py: ...

  7. endnote一打开就自动关闭_word mac版如何彻底删除endnote插件?mac版word移除endnote加载项的方法...

    有些朋友在使用word mac版会安装endnote插件,但是用户体验不好就想要卸载,但是很多朋友在卸载endnote插件时都遇到一些小bug,也不知道怎么解决,所以小编为大家带来一个可以彻底删除En ...

  8. php 设置session目录,php设置session保存目录的方法

    php设置session保存目录的方法 发布时间:2020-08-01 14:33:16 来源:亿速云 阅读:74 作者:清晨 小编给大家分享一下php设置session保存目录的方法,希望大家阅读完 ...

  9. Spring Boot和Thymeleaf:重新加载模板和静态资源,而无需重新启动应用程序

    Thymeleaf是围绕自然模板的概念设计的,该模板允许进行静态原型制作:模板逻辑不会影响用作原型的模板. 尽管这是一项很棒的技术,但您可能还希望在运行的Spring Boot应用程序中查看结果,而不 ...

  10. Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法

    Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法 遇到这个问题是为了sublime配置c/c++ 编译环境 当运行程序打开终端时 出现以上问题 先新建build system ...

最新文章

  1. CentOS 安装docker.ce报错提示containerd.io >= 1.2.2-3问题
  2. Java反射学习(java reflect)(三)
  3. python语言实例-Python语言实现百度语音识别API的使用实例
  4. Linq to SQL 下篇
  5. java登陆密码验证失败,java用户名密码验证示例代码分享
  6. 07 设置View的显示与隐藏
  7. 纠正网上Mac 上使用Hbuilder运行夜神游模拟器,Hbuilder找不到模拟器
  8. Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPP-net)
  9. 计算机基础(1)——Verilog语法入门
  10. uni-app android权限
  11. 普通进销存管理系统设计2
  12. RJ45网线水晶头超5类线6类线千兆网百兆网区别
  13. 七夕告白html网页,html5+CSS3+JS七夕告白功能实现详解
  14. 产品线管理:学习笔记
  15. 明光桥南 || 明光桥北
  16. 【洛谷P2967】【USACO 2009 Dec】电子游戏 Video Game Troubles
  17. DES算法的matlab实现
  18. 基于语料库的汉语形容词宾语与名词句法语义关系分析
  19. Python 人脸抓拍
  20. 谈一谈单片机开发的几种调试方案

热门文章

  1. DW2019HTML中没有文本对象,Dreamweaver CC2019文字或图片添加空连接方法
  2. 微信小程序文本输入<input/> 详解
  3. 微信小程序开发--虎年头像制作、虎头帽制作
  4. Python使用MINIMAX实现自动吃豆人
  5. python 中的拷贝、浅拷贝与深拷贝
  6. FFmpeg学习之 一 (音视频理论知识)
  7. 计算机固态硬盘与机械硬盘的区别是什么,电脑固态硬盘与机械硬盘的区别是什么,应该如何选择...
  8. android技术牛人的博客[转]
  9. 前端关系图谱插件_前端拓扑图插件选型对比
  10. aspose.word给表格插入行或列