2008-12-11 66 views
2

当请求某些模板时是否可以绕过Freemarker缓存?我意识到我可能不得不实现自己的TemplateLoader才能做到这一点,但即便如此,当模板A被请求时,我看不到检查缓存的方式,但在请求模板B时绕过它?绕过FreeMarker缓存?

如果这是不可能的,我只需要完全禁用缓存。

+0

您正在使用的freemarker:

为了您的具体问题,你可以做到以下几点? – krosenvold 2008-12-11 22:15:25

回答

3

尝试在您configuration禁用缓存:

configuration.setTemplateUpdateDelay(0); 

这应当引起它来检查模板的每一个它要求的时间较新的版本。

要仅跳过某些模板的缓存,您只需覆盖getLastModified即可为特定模板返回一个非常旧的日期,从而强制重新加载。

1

您可以在配置对象本身上进行设置。详细信息请参见this page。直接或通过一些web框架

cfg.setSetting(Configuration.CACHE_STORAGE_KEY, "strong:0, soft:0");