一 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原有功能,缺点是所有模版缓存都会被刷新;如果希望只刷新指定的模版,只能二次开发;
原文地址:https://www.cnblogs.com/barneywill/p/9923860.html
时间: 2024-10-01 16:26:10