方法[]的签名不适用于参数类型

时间:2016-04-12 11:58:23

标签: postgresql grails groovy

嗨,我有这项服务:

def insertAction(int Id, String Name){
        def sql = new Sql(dataSource)
        sql.execute("INSERT INTO  mn (id, name) VALUES ($Id,$Name)")
    }

这个控制器:

def save() {
       println params
       [contact: contactListService.insertAction(params.id,params.Name)]
        redirect action: "create"

当我创建一个新条目时,我收到此错误

没有方法签名:contactlist.ContactListService.insertAction()适用于参数类型:(null,java.lang.String)values:[null,das]可能的解决方案:insertAction(int,java.lang.String) ,listAction()

1 个答案:

答案 0 :(得分:0)

好吧,就像错误所暗示的那样 您已将第一个参数定义为int,但是您将其设为null null可以用于任何对象,但不能用于int等基本类型。 将方法参数更改为Integer(或def以不指定显式类型)等对象,并在方法中检查null,或者先检查params你给它的方法值。