【原创】Java基础之Freemarker(1)模板加载及清空机制


一 freemarker加载模版机制

freemarker中的配置项template_update_delay表明模版的缓存时间,单位是s,超过缓存时间则从磁盘加载最新的模版,具体细节如下:

1)freemarker中获取模版的方法在Configuration中:

 

2)Configuration的getTemplate方法直接代理给TemplateCache:

 

3)TemplateCache中首先会尝试从缓存中加载模版:

 

然后根据template_update_delay来判断缓存中的模版是否需要刷新;

 

 

二 Freemarker自带刷新接口

Freemarker本身提供的刷新接口是Configuration的clearTemplateCache方法,可以用来清空所有的模版缓存;

1 使用spring mvc

1.1 配置template_update_delay

 

1.2 手工刷新

 

 

2 直接使用freemarker

2.1 配置template_update_delay

 

2.2 手工刷新

 

 以上手工刷新方法的优点是不需要修改源代码,直接利用freemarker原有功能,缺点是所有模版缓存都会被刷新;如果希望只刷新指定的模版,只能二次开发;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM