2017-04-20 16:57

必然可以,而且极其容易,妙不可言,按如下步骤:
1:将路由拆分为前端的后端两部分
class FrontRoutes extends Routes {
public void config() {
// 关键在这里,下面的拦截器会拦截所有 FrontRoutes 中配置的控制器
addInterceptor(new FrontInterceptor());
add("/", IndexController.class);
}

class AdminRoutes extends Routes {
// 这里配置后端拦截器
addInterceptor(new AdminInterceptor());
add("/admin", AdminIndexController.class);
}

2:在configRoute 中再汇总:
configRoute(Routes me) {
me.add(new FrontRoutes());
me.add(new AdminRoutes());
}

不仅可以分别对拆分的 FrontsAdmin、AdminRoutes 配置不同的拦截器,还可以配置不同的 me.setBaseViewPath(...),非常有利于实际的开发需求

路由的拆分还可以在多人团队开发时,为不同的团队分配不同的 Routes,统一规范路由,各自修改自己分到手的 Routes,可以避免在 git、svn 提交时造成代码冲突

2016-12-15 10:46

@qin 在需要登录的页面拦截就OK

2016-12-14 11:48

你这是甭管什么情况都会执行invoke

2016-11-03 12:02

PHP的终结者 @JFinal 对不

2016-11-03 09:54

@yuan_123 J是PHP的意思 哈哈

2016-10-25 11:56

分开接收

2016-10-21 15:06

十万个赞