Java基础之Freemarker模板加载及清空机制

Posted Thinking in BigData

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础之Freemarker模板加载及清空机制相关的知识,希望对你有一定的参考价值。

一 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原有功能,缺点是所有模版缓存都会被刷新;如果希望只刷新指定的模版,只能二次开发;

以上是关于Java基础之Freemarker模板加载及清空机制的主要内容,如果未能解决你的问题,请参考以下文章

spring模板freemarker从项目的resources目录的data下加载文件,Java

spring模板freemarker从项目的resources目录的data下加载文件,Java

FreeMarker之根据模板生成Java代码

freemarker模板加载TemplateLoader常见方式

Freemarker 之 Java静态化 实例一

在 java 中加载 freemarker 模板时出现 FileNotFoundException