springboot集成Jfinal template 无法找到模板文件

我从群里下载了波总的jfinal-tmeplate-engine-for-spring 集成到springboot中设置BaseTemplatePath后,访问路径始终无法找到模板文件。这里我记得这里有个文件加载设置的问题是需要注意的,如果是jar包的方式的话资源加载应该用ClasspathLoader  请问这个设置在哪里?

评论区

mr_wangyan

2017-07-12 21:45

@JFinal 波总,说好的模板引擎项目不发了吗?

JFinal

2017-07-13 17:32

这两天感冒没开电脑,集成 spring boot 的配置可以是下面这样:
@Configuration
public class SpringBootConfig {
@Bean(name = "jfinalViewResolver")
public JFinalViewResolver getJFinalViewResolver() {
JFinalViewResolver jfr = new JFinalViewResolver();
jfr.setBaseTemplatePath("这里根据实际情况配置模板基础路径");
jfr.setSuffix(".html");
jfr.setContentType("text/html;charset=UTF-8");
jfr.setOrder(0);
jfr.setDevMode(true);
return jfr;
}
}

上面的 setBaseTemplatePath 配置是你模板的实际地址就可以,如果没有配置,默认就是项目根路径,你还可以通过下面的配置来配置相对于项目根路径的地址:
jfr.setBaseTemplatePath(jfr.getBaseTemplatePath() + “/templates”);

JFinal

2017-07-13 17:35

如果是从 jar 包中获取模板文件,可以利用 Engine.getTemplate(IStringSource) 这个方法去对 TemplateRender 做个扩展,然后通继承 RenderFactory 覆盖掉 getRender 来应用上自己的 MyJarTemplateRender

还有一个办法是参考这位小伙伴的扩展方式:
http://git.oschina.net/ziyuzile/jfinal/tree/master/src/main/java/com/jfinal/template
注意一下里面对于 ClasspathLoaderStringSource.java 的使用就好

jfinal 后续会考虑添加这个支持

mr_wangyan

2017-07-16 12:20

@JFinal 这位小伙伴就是我啦。。哈哈哈哈

热门反馈

扫码入社