12.17每日总结

控制器超类的路由映射

    自 jfinal 3.6 开始,控制器超类中的所有方法默认不会被映射为 action。(也就是自 jfinal 3.6 版本开始上例中 BaseController 中的 @NotAction 默认已经不需要了,因为 BaseController 是你最终控制器 XxxController 的超类)

    如果希望超类中的方法也被映射为 action 只需添加一行配置:

  1. public void configRoute(Routes me) {
  2.     me.setMappingSuperClass(true);
  3. }

 

    该功能属于性能优化,拥有大量路由的大型项目可加快启动速度。该配置如果配置在 "子Routes" 中,将只对该 "子Routes" 有效,例如:

  1. public FrontRoutes extends Routes {
  2.    public void config() {
  3.       // 这里配置只对 FrontRoutes 下的路由有效,建议这样配置以提升性能
  4.       setMappingSuperClass(true);
  5.       
  6.       add("/weixin", WeixinController.class);
  7.    }
  8. }

    "子Routes" 相关内容详见文档第二章 configRoute(...) 章节。

posted @ 2023-12-18 22:46  听着DJ读童话  阅读(17)  评论(0)    收藏  举报