在grails框架中,如何将一个类方法调用到另一个类方法?

在grails框架中,如何将一个类方法调用到另一个类方法?,grails,Grails,在grails框架中,如何将一个类方法调用到另一个类方法?例如 class ChartClassController { def index() {} def create(){ def chartClassTypeList = ChartClassType.list() } } class ChartGroupController { def index() {} def create(){ def chartG

在grails框架中,如何将一个类方法调用到另一个类方法?例如

class ChartClassController {

    def index() {}

    def create(){
        def chartClassTypeList = ChartClassType.list()
    }
}

class ChartGroupController {

    def index() {}

    def create(){
        def chartGroupTypeList = ChartGroupType.list()
    }
}

我只是在ChartClassController中调用类ChartGroupController方法create??这怎么可能??需要帮助

控制器不是常规类,它们基本上是响应请求的事件处理程序。生命周期由Grails和Spring管理,它们基本上不可直接调用

<>而不是从另一个控制器调用一个控制器,考虑将逻辑从两个控制器中想要的方法移动到SRC/Groovy下的实用类。然后从两个控制器调用它


另一种选择是创建一个由两个控制器扩展的基类,并将该共享逻辑放在一个基类方法中,两个控制器都从其创建方法调用该基类方法。

控制器不是常规类,它们基本上是响应请求的事件处理程序。生命周期由Grails和Spring管理,它们基本上不可直接调用

<>而不是从另一个控制器调用一个控制器,考虑将逻辑从两个控制器中想要的方法移动到SRC/Groovy下的实用类。然后从两个控制器调用它


另一种选择是创建一个由两个控制器扩展的基类,并将该共享逻辑放在一个基类方法中,两个控制器都从其创建方法调用该基类方法。

您可以使用重定向,从用户角度看是否有意义是有争议的:

def create(){
    redirect(class:"ChartGroupController", action:"create")
}
此外,没有什么可以阻止您简单地调用任何控制器中的任何域类,因此您的ChartClassController可能具有:

def create(){
    def chartGroupTypeList = ChartGroupType.list()
}

如果愿意,您甚至可以使用ChartGroup目录中的视图。但是为了简单易读,您可能希望保持域之间的分离

您可以使用重定向,从用户角度看是否有意义是有争议的:

def create(){
    redirect(class:"ChartGroupController", action:"create")
}
此外,没有什么可以阻止您简单地调用任何控制器中的任何域类,因此您的ChartClassController可能具有:

def create(){
    def chartGroupTypeList = ChartGroupType.list()
}

如果愿意,您甚至可以使用ChartGroup目录中的视图。但是为了简单易读,您可能希望保持域之间的分离

对!!我知道,谢谢你!兄弟:但这不可能吗?如果我在ChartClassController中导入ChartGroupController!!对我知道,谢谢你!兄弟:但这不可能吗?如果我在ChartClassController中导入ChartGroupController!!