【问题标题】:Get all methods from controller in grails 3从grails 3中的控制器获取所有方法
【发布时间】:2016-05-18 16:49:26
【问题描述】:

在这个question 中显示从grails 2 中的控制器获取所有方法。我怎样才能进入grails 3?

【问题讨论】:

    标签: grails


    【解决方案1】:

    在 Grails 3 中(如果你只使用方法而不使用闭包,那么在 Grails 2 中会更容易一些):

    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()]
    }
    

    【讨论】:

    • “和 Grails 2,如果你只使用方法来操作而不使用闭包” - 我认为你不必排除使用闭包来执行操作的应用程序。您上面显示的代码也适用于那些,因为框架在 Grails 2 的编译时生成相应的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 2011-02-18
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多