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 后续会考虑添加这个支持
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”);
2017-07-10 17:11
@mrbai2018 前面回复有关 jstl 的部分我也不懂。 其它部分应该对,不过虽然你用拦截器,你仍然可以用 jstl,只需要自定义一个 Res 类,里面添加 getter 方法,照样可以用 jstl来获取,不过貌似 jstl 只能调用 getter,不能调用带参的方法,所以,你说的应该是对的
2017-07-10 17:00
@mrbai2018 从未用过 beetl,建议自己试用着比较一下,只有用户自己的感受才是最好的比较
2017-07-10 14:27
@giegie 如果你的 ip + port + database 全一样,那么这个 cacheName 就仅相当于一个别名了