grails - 具有默认参数的Groovy列表方法不匹配

标签 grails groovy

我为POGO类实现了以下列表方法

def list (def sort=null, def order=null, def max=null, def offset=null) {
..
}

当我从 Controller 调用它时
render view: 'index', model: [orderList: Order.list(params.sort, params.order, params.max, params.offset), orderCount:orders.size()]

我收到以下错误
    No signature of method: static mypackage.Order.list() is applicable for argument types: (null, null, null, null) values: [null, null, null, null]
    Possible solutions: list(), wait(), find(), list(java.lang.Object), list(java.lang.Object, java.lang.Object), list(java.lang.Object, java.lang.Object, java.lang.Object). Stacktrace follows:
    Message: No signature of method: static latis.ctl.Job.list() is applicable for argument types: (null, null, null, null) values: [null, null, null, null]
    Possible solutions: list(), wait(), find(), list(java.lang.Object), list(java.lang.Object, java.lang.Object), list(java.lang.Object, java.lang.Object, java.lang.Object)
        Line | Method
    ->>    6 | showInstances in latis.ctl.JobController
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    |    198 | doFilter      in grails.plugin.cache.web.filter.PageFragmentCachingFilter
    |     63 | doFilter . .  in grails.plugin.cache.web.filter.AbstractFilter
    |     53 | doFilter      in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
    |     49 | doFilter . .  in grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter
    |     82 | doFilter      in grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
    |   1145 | runWorker . . in java.util.concurrent.ThreadPoolExecutor
    |    615 | run           in java.util.concurrent.ThreadPoolExecutor$Worker
    ^    744 | run . . . . . in java.lang.Thread
java.lang.Object), list(java.lang.Object, java.lang.Object, java.lang.Object)

最佳答案

stacktrace和 Controller 代码显示您正在调用静态方法(在类而不是实例上调用该方法)。您显示定义的方法是一个实例方法。您没有在调用您定义的方法。

如果您打算将其作为静态方法,则可以使用static def定义该方法。

关于grails - 具有默认参数的Groovy列表方法不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27986948/

相关文章:

grails - 在 IntelliJ IDEA 中更改 Grails SDK 在插件模块上不起作用

grails - 有没有一种方法可以在Grails中配置对数据库的两种不同模式的访问?

unit-testing - Grails-使用reCaptcha插件对 Controller 的方法进行单元测试

grails - 在Grails中使用HTTP状态代码呈现JSON的简单方法

Linux Jenkins 测试 Windows 共享中是否存在文件

grails - Grails 中已弃用 install-plugin 命令

javascript - Javascript函数在Grails中不起作用

Grails:理解 groovy DomainClass.properties

groovy - 构造/销毁自定义Gradle任务

不带括号的 Groovy 范围迭代