1. 程式人生 > >Java基礎之Freemarker(1)模板加載及清空機制

Java基礎之Freemarker(1)模板加載及清空機制

ron date java 自帶 pda 直接 onf 刷新方法 希望

一 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(1)模板加載及清空機制