jfinal路由配置能否智能扫包?

发布于 2021-11-30 15:13:46 字数 411 浏览 771 评论 5

@JFinal 你好,想跟你请教个问题:配置文件里面的configRoute

public void configRoute(Routes me) {
  // TODO Auto-generated method stub
  me.add("/hello",HelloController.class);
 }

 

如果每次都加新的Controller类,都得手工一个一个的加太不方便了,有没有像spring注入一样。在Controller类上添加一个注解让框架给自动添加Route。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

嘦怹 2021-12-01 22:10:58

写一个xml文件,加载后放到Route(重写此类中的config方法)中。

少女情怀诗 2021-12-01 20:48:15

@JFinal 这个路由这样搞好球烦啊。

直接用annotation这样也挺好的啊。

疑心病 2021-12-01 16:22:04

Routes扩展

自动注册Route AutoBindRoutes

简介

扫描clsspath和lib中继承了Route的类按照约定的规则自动注册,也可以在 每一个Route上用注解配置

示例代码

    public void configRoute(Routes me) {

        me.add(new AutoBindRoutes());

    }

如果我们有一个AController,以上代码则相当于

   public void configRoute(Routes me) {

        me.add("/a",AController.class);

    }

默认的注册规则是截取类名Controller前的部分并首字母小写.

ControllerBind配置

如果需要单独配置Route,需要在Controller上加上ControllerBind注解

ControllerBind 注解,属性说明如下:

controllerKey 访问某个 Controller 所需要的一个字符串

viewPath Controller 返回的视图的相对路径

天涯离梦残月幽梦 2021-12-01 16:13:32

    @八皮 做的 jfinal extensions 项目提供了这个功能,使用起来非常简单:me.add(new AutoBindRoutes())。如果要使用需要负出点代价,如果自动扫描没有打开就需要约定控制器类名以Controller结尾,否则就需要用 @ControllerBind 注解来配置。

    一般来说一个系统的 Controller 并不会太多,如果很多还可以利用将路由定义在不同的Routes文件下,如: class FrontRoutes extends Routes{......}, class AdminRoutes extends Routes{......},然后在 YourJFinalConfig 中: me.add(new FrontRoutes()); me.add(new AdminRoutes()); 非常适合大型项目。

    JFinal 未提供自动化路由有很多考虑,例如性能问题,配置风格问题,安全问题(当前的方式是Controller必须声明才有效,提升了安全性。也便于统一管理路由),目前的状态是权衡后的结果

    

浮生未歇 2021-12-01 02:45:05

    @八皮 做的 jfinal extensions 项目提供了这个功能,使用起来非常简单:me.add(new AutoBindRoutes())。如果要使用需要付出点代价,如果自动扫描没有打开就需要约定控制器类名以Controller结尾,否则就需要用 @ControllerBind 注解来配置。

    一般来说一个系统的 Controller 并不会太多,如果很多还可以利用将路由定义在不同的Routes文件下,如: class FrontRoutes extends Routes{......}, class AdminRoutes extends Routes{......},然后在 YourJFinalConfig 中: me.add(new FrontRoutes()); me.add(new AdminRoutes()); 非常适合大型项目。

    JFinal 未提供自动化路由有很多考虑,例如性能问题,配置风格问题,安全问题(当前的方式是Controller必须声明才有效,提升了安全性。也便于统一管理路由),目前的状态是权衡后的结果

    

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文