使用extends Controller后在Interceptor中如何提取继承类的方法

blob.png

blob.png


ReeBaseController是从Controller继承来的,可以通过继承使用方法

1) 如

PurchaseController extends ReeBaseController{

。。。。

if(getLoginUser()){...}

}

2)疑问和问题

现在在Interceptor中只能inv.getController()得到Controller,

想问的是,如何在interceptor或其他类中

得到ReeBaseController


是不是inv.getController().get子类().getLoginUser()

如何Invocation中得到我们从controller中基层的类,进而方法的统一




















评论区

HingLo

2018-04-17 14:33

你这个不可以吧,你从父类怎么能都确定得到是哪个子类?事实上应该是不可以的得到Controller的子类的,在拦截器中

JFinal

2018-04-17 14:57

通过 instanceof 判断后,然后强制转换就可以了:
Controller c = inv.getController();
if (c instanceof ReeBaseController) {
ReeBaseController rbc = (ReeBaseController)c;
} else {
....
}

热门反馈

扫码入社