grails AbstractController';s公共方法don';t注册到子控制器

grails AbstractController';s公共方法don';t注册到子控制器,grails,grails-controller,Grails,Grails Controller,我在src/groovy/ssh中有一个AbstractController public void listAjax(){ //do sth } 然后创建控制器系统 class UserController extends AbstractController{ } 但是当我访问/user/listAjax时,得到了404错误 父级的公共方法不能自动注册到子控制器?您使用的是Grails 2.0.0M1吗?因为在Grails1.3.7或更低版本中,不能将方法用作控制器操作 如果您使用

我在src/groovy/ssh中有一个AbstractController

public void listAjax(){
   //do sth
}
然后创建控制器系统

class UserController extends AbstractController{
}
但是当我访问/user/listAjax时,得到了404错误


父级的公共方法不能自动注册到子控制器?

您使用的是Grails 2.0.0M1吗?因为在Grails1.3.7或更低版本中,不能将方法用作控制器操作

如果您使用的是Grails 1.3.7,请在AbstractController中尝试以下方法:

public class AbstractController {
    def listAjax = {
       //do sth
    }
}

您正在使用Grails2.0.0M1吗?因为在Grails1.3.7或更低版本中,不能将方法用作控制器操作

如果您使用的是Grails 1.3.7,请在AbstractController中尝试以下方法:

public class AbstractController {
    def listAjax = {
       //do sth
    }
}
哦,这不是虫子

见:

哦,这不是一个bug

见:


是,2.0.0.M1。如果父级使用闭包,子级如何重写和调用父级闭包?super.xx.call()?对于闭包,您实际上不能使用继承(我相信),但可以将闭包保留在不同的属性中。但是,在2.0中,您应该能够使用普通的方法继承。如果您仍然有问题,请尝试一个
grails clean
并再次运行它。另一个选项是使用链接的注释所说的:委托类无权访问所有者类的内部,例如render方法或参数。看起来@mixin,sub controller无法覆盖mixin的methodyes,2.0.0.M1。如果父级使用闭包,子级如何重写和调用父级闭包?super.xx.call()?对于闭包,您实际上不能使用继承(我相信),但可以将闭包保留在不同的属性中。但是,在2.0中,您应该能够使用普通的方法继承。如果您仍然有问题,请尝试一个
grails clean
并再次运行它。另一个选项是使用链接的注释所说的:委托类无权访问所有者类的内部,例如render方法或params。看起来@mixin,sub controller无法覆盖mixin的方法。我也有同样的问题。我在coontrollers目录下有一个抽象的基本控制器,另一个控制器扩展了基本控制器,但是基本控制器方法没有达到404状态。有什么建议吗?我也有同样的问题。我在coontrollers目录下有一个抽象的基本控制器,另一个控制器扩展了基本控制器,但是基本控制器方法没有达到404状态。有什么建议吗?