默默的反馈一个问题,关于Template Engine

默默的反馈一个问题,关于Template Engine。默默的升到了3.0,说实话模板引擎功能我用的不多,但是今天碰到个蛋疼的问题。前端 修改了模板之后,更新掉服务器上对应的模板之后,去看效果,发现还是原来的。

初步估计是有缓存,仔细看了下源码,果真是缓存问题,那么就是说明每次修改完模板之后,就得重启服务。很麻烦,然后去手册上面找了一下是否有解决方案,暂时未发现(也有可能是看得不仔细)。

在仔细看了一下源码之后,暂时发现了一个解决方法,就是给前端提供一个清除模板缓存的接口,即调用 com.jfinal.template.Engine.removeAllTemplateCache() 方法。

所以我在想奥,如果是开发者模式下的话,有没有可能设计成模板缓存不启用。。。。。。。。。。。


评论区

JFinal

2017-02-23 17:33

不必这么麻烦,只需要在 configEngine(Engine engine) 这个方法中使用如下代码即可:
engine.setDevMode(true)

JFinal

2017-02-23 17:35

jfinal.com 官方网站就是用的这种方式,改 html 上传后立即会生效,很方便。这个配置也可以放在配置文件中:
reloadModifiedTemplate = true;
然后用的时候 engine.setDevMode(PropKit.getBoolean("reloadModifiedTemplate", false));

sruz

2017-02-23 17:40

@JFinal 天,就在下面那么一丢丢就有,我居然没看到,,,,,

JFinal

2017-02-23 17:44

@sruz configEngine 中的 devMode 配置如果不动它,默认与 configConstants 中的配置是一样的,如果在 configEngine 中再配置,那么会覆盖掉 configConstants 中的配置

JFinal

2017-02-23 17:44

@sruz 虽然 jfinal template engine 这才第一版,但功能是非常完善的,很多情况都已经考虑到了

热门反馈

扫码入社