2018-06-01 09:40
@jimchow 类似这样的 dependency 有很多,都仅仅是第三方集成 jfinal,而 jfinal 自身只依赖于接口,不会直接依赖于第三方
2018-05-31 22:15
@信阳 做个 MyVelocityRender 扩展一下 VelocityRender,然后覆盖父类的 render() 方法,将 VelocityRender 的所有代码 copy 到这个 render() 方法中
在这个 render 方法中添加一个 try catch,对所有异常做个明确的日志,看看 getTemplate(view) 是在 view 值是什么的时候出现的 null pointer 异常就能清楚地定位了
然后再做个 MyRenderFactory 以便切换到自己 MyVelocityRender:
public MyRenderFactory extends RenderFactory {
public Render getVeloictyRender(String view) {
return new MyVelocityRender(view));
}
}
最后配置一下即可:
public void configConstant(Constants me) {
me.setRenderFactory(new MyRenderFactory());
}
2018-05-31 21:51
@weiyie 这个在使用 jf.setSourceFactory(new ClassPathSourceFactory()); 这行配置以后确实是一个问题
但如果用户在使用 Spring 时,没有配置 ClassPathSourceFactory 这个东东,那么 setPrefix(...) 这个配置还有别的作用,比较纠结
2018-05-31 12:40
@信阳 NPE 只能老老实实单步调试,找到为 null 的对象,解决掉即可
目测你这个是 VelocityRender 中在 getTemplate 时返回了 null, 从而在调用 null.render() 方法时出错,因为 null 对象是不能调用其 render() 方法的 : null.render()