@Filters(@By(type=Authorization.class,args={"{entity}"}))
public String list(@Param("entity") String entity){
...
}
如上,有什么办法可以把方法参数“entity”的值 带入带filter中?
@Filters(@By(type=Authorization.class,args={"{entity}"}))
public String list(@Param("entity") String entity){
...
}
如上,有什么办法可以把方法参数“entity”的值 带入带filter中?
很遗憾,@Filters不能做到, 看以下默认配置
{
"default" : {
"ps" : [
"org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor",
"org.nutz.mvc.impl.processor.EncodingProcessor",
"org.nutz.mvc.impl.processor.ModuleProcessor",
"org.nutz.mvc.impl.processor.ActionFiltersProcessor",
"org.nutz.mvc.impl.processor.AdaptorProcessor",
"org.nutz.mvc.impl.processor.MethodInvokeProcessor",
"org.nutz.mvc.impl.processor.ViewProcessor"
],
"error" : 'org.nutz.mvc.impl.processor.FailProcessor'
}
}
处理@Filters的是ActionFiltersProcessor,在AdaptorProcessor之前执行,而方法参数是AdaptorProcessor准备好的
所以, 如果需要读取"方法参数", 那么在AdaptorProcessor插入一个Processor进行处理即可
这属于"动作链"的范畴,可参看nutzbook或官方文档,里面都有描述.
@wendal 没啥,,,谢谢