读书人

FreeMarker对Template的加载历程

发布时间: 2012-11-09 10:18:47 作者: rapoo

FreeMarker对Template的加载过程
??????? 前一阵子在研究使用数据库来配置表现层的信息的技术可行性,由于之前已经使用FreeMarker封装了很多macro,很显然,
这些投资不能浪费,方案的选择上最终我确定在根据数据库的配置来动态生成Template,然后由FreeMarker引擎加载,那么
FreeMarker是如何加载Template的呢,是否能够支持非文件的Template的加载呢?
?????? 通过源码分析,FreeMarker对Template的加载过程如下
?????? Configuration(getTemplate)-->TemplateCache(getTemplate)-->TemplateCache(loadTemplate)-->
TemplateLoader(getReader)
?? ?? 再看看TemplateLoader的接口
???java 代码?

  1. public?interface?freemarker.cache.TemplateLoader??
  2. {??
  3. ????Object?findTemplateSource(String?name)?throws?java.io.IOException;??
  4. ????long?getLastModified(Object?source);??
  5. ????Reader?getReader(Object?source,?String?name)?throws?java.io.IOException;??
  6. ????void?closeTemplateSource(Object?source)?throws?java.io.IOException;??
  7. }??

???

????? 很显然,就技术而言,问题的关键就在于怎么实现自己的TemplateLoader了

??? 1 楼 zinking 2007-04-04 就这么多叙述我觉得意义不大
2 楼 magice 2007-08-17 为什么要把template放置到数据库中,美工做好的页面还要存入到数据库一次?!

读书人网 >软件架构设计

热点推荐