我正在尝试在 grails 中创建一个通用函数,它允许我指定一个类和函数名,并根据该标准拦截任何函数调用:
getSomeClass().metaClass.invokeMethod = { String methodName, args ->
MetaMethod someAction = getSomeClass().metaClass.getMetaMethod(methodName, args)
def result = someAction.invoke(delegate, args)
if (methodName==getSomeMethodName())
intercept(args, result)
return result
}
这适用于 POGO 和域类,但似乎不适用于控制器类。虽然我完全知道 Grails 中有可用的控制器拦截器和过滤器,但它们并没有真正集中我想要实现的目标,而是试图为一些集中的行为创建一个简单的通用函数
任何关于为什么这在控制器上不起作用的指导将不胜感激,谢谢