14.5 RenderFactory

  1. JFinal 3.0 render 模块做了全面重构,抽取出了IRenderFactory接口,而原来的RenderFactory成为了接口的默认实现类,去除了原来的IMainRenderFactoryIErrorRenderFactoryIXmlRenderFactory三个接口,所有对 render 的扩展与定制全部都可以通过继承RenderFactory来实现,3.0版本的render模块可对所有render进行切换与定制,并且扩展方式完全一致。如果老项目对IMainRenderFactory做过扩展,只需要照如下方式进行升级:
  1. public class MyRenderFactory extends RenderFactory {
  2. public Render getRender(String view) {
  3. return new MyRender(view);
  4. }
  5. }
  1. 同理,如果以前对 IErrorRenderFactory 或者 IXmlRenderFactory 做过扩展的,只需要在上面的MyRenderFactory类中添加上getErrorRender(…) getXmlRender(…) 方法即可。扩展完以后在configConstant 中进行如下配置:
  1. public void configConstant(Constants me) {
  2. me.setRenderFactory(new MyRenderFactory());
  3. }
  1. JFinal 3.0 对所有render扩展,采取了完全一致的扩展方式,学习成本更低,使用更方便,升级也很方便。此外,原来RenderFactory类中的me() 已经被取消,老项目对此有依赖的只需要将RenderFactory.me() 直接改为RenderManager.me().getRenderFactory() 即可。

< 14.4 baseViewPath

14.6 其它 >

原文: http://www.jfinal.com/doc/14-5