使用业务层增强拦截器时 ,无法获取方法的参数值

拦截器是业务层的

在拦截器中使用 Object[] obj = inv.getArgs();

显示obj是null?    ps:我的方法是有参数值的

@JFinal

评论区

JFinal

2018-01-22 20:37

业务层拦截器触发了没? 业务层拦截器触发方式与控制层有所不同

leomj

2018-01-22 20:39

@JFinal 是说使用Duang.duang()的方式吗?

leomj

2018-01-22 20:40

@JFinal 拦截器已经进来了啊(已经在拦截器里了)

leomj

2018-01-22 20:44

@JFinal
不能获取参数值的代码:
//增强业务层拦截器
public final static SmsService me = Duang.duang(me());

private static SmsService smsService; //代码1

public static SmsService me() { //代码2
if (smsService == null) {
smsService = ClassKits.singleton(SmsService.class);
}
return smsService;
}

修改后可以:
public final static SmsService me = Duang.duang(SmsService.class);
去掉了 代码1 代码2

JFinal

2018-01-22 20:51

@leomj 应该是可以的,注意一下参数实际上到底是不是 null

leomj

2018-01-23 08:49

@JFinal 可以确定实际参数不是null

热门反馈

扫码入社