2012-12-20 38 views
0

在我们的grails 1.3.x应用程序中,我们用来做def user = request.userDefinedInAFilter,那不是在控制器方法中,而是在类的主体中,并且工作正常。现在升级到2.1.2时给出了这样的错误尝试创建bean时:Grails控制器请求变量

Caused by: groovy.lang.MissingMethodException: No signature of method: com.MyController.getRequest() is applicable for argument types:() values: [] 

我可以把在控制器方法或在之前的块只是想弄清楚来处理它的最佳方式。

回答

1

我认为这是因为这些方法以前被添加到元类,但现在通过AST转换添加到字节码中。如果您需要所有方法,您可以将其添加到beforeInterceptor并在此处设置字段,或者在需要它的每种方法中进行呼叫。

+0

谢谢。现在我只是在必要时将它转化为方法。每个方法只需要一个控制器。 – dstarh