从Grails3中的控制器获取所有方法

从Grails3中的控制器获取所有方法,grails,Grails,在本文中,我们将演示如何从Grails2中的控制器获取所有方法。如何在Grails3中使用呢?在Grails3中(如果只使用方法进行操作而不使用闭包,那么在Grails2中使用会更容易一些): “如果只对操作使用方法而不使用闭包,那么Grails 2也可以”——我认为不必排除对操作使用闭包的应用程序。您上面展示的代码也适用于这些方法,因为框架在Grails2的编译时生成了相应的方法。 import grails.web.Action def data = grailsApplication.c

在本文中,我们将演示如何从Grails2中的控制器获取所有方法。如何在Grails3中使用呢?

在Grails3中(如果只使用方法进行操作而不使用闭包,那么在Grails2中使用会更容易一些):


“如果只对操作使用方法而不使用闭包,那么Grails 2也可以”——我认为不必排除对操作使用闭包的应用程序。您上面展示的代码也适用于这些方法,因为框架在Grails2的编译时生成了相应的方法。
import grails.web.Action

def data = grailsApplication.controllerClasses.collect { controller ->
   [controller: controller.logicalPropertyName,
    controllerName: controller.fullName,
    actions: controller.clazz.methods.findAll { it.getAnnotation(Action) }*.name.sort()]
}