Jfinal的TemplateEngineer~

public void configEngine(Engine engine) {
    engine.setBaseTemplatePath( "/WEB-INF/baseTmpl" );
    engine.addSharedFunction( "/admin.html" );
}

为什么这样写就出这样的错误:

[ERROR]-[Thread: main]-[com.jfinal.kit.LogKit.error()]: File not found : /WEB-INF/baseTmpl/admin.html
java.lang.RuntimeException: File not found : /WEB-INF/baseTmpl/admin.html

这样写就可以:

public void configEngine(Engine engine) {
//    engine.setBaseTemplatePath( "/WEB-INF/baseTmpl" );
        engine.addSharedFunction( "/WEB-INF/baseTmpl/admin.html" );
}


评论区

JFinal

2017-08-26 12:43

configEngine(Engine engine) 这个方法中的 Engine 对象,默认已经将 baseTemplatePath 设置成了 PathKit.getWebRootPath(),大部分情况下不需要再干预,而且这个值也是 web 项目最佳的配置

少数 maven 类型的 web 项目将模板放在了 src/resources 目录下,最终会被编译到 classes 类路径之下,使用下面的配置是最好的:
engine.setBaseTemplatePath(null);
engine.setSourceFactory(new ClassPathSourceFactory());
这个在手册里面有说明

热门反馈

扫码入社