方法没有签名,尽管填充了相同的参数grails/groovy

方法没有签名,尽管填充了相同的参数grails/groovy,groovy,Groovy,我有个例外。我创建了一个服务 def fillEmailTemplateNo1(Long profileID, String customerName, String cif, Integer soluongtaisan, String hinhthucdinhgia) { //... } 然后在控制器中,我称之为 fillEmailTemplateNo1(newProfile.id, newCustomer.customerName, newCustomer.cif, newCustomer

我有个例外。我创建了一个服务

def fillEmailTemplateNo1(Long profileID, String customerName, String cif, Integer soluongtaisan, String hinhthucdinhgia) {
//...
}
然后在控制器中,我称之为

fillEmailTemplateNo1(newProfile.id, newCustomer.customerName, newCustomer.cif, newCustomer. soLuongTaiSan, "abc")
虽然我填充了所有参数(根据它们的类型),但我得到了这个异常

groovy.lang.MissingMethodException: No signature of method: static
mail.MailCollatService.fillEmailTemplateNo1() is applicable for
argument types: (java.lang.Long, java.lang.String, java.lang.String,
java.lang.Integer, java.lang.String) values: [11, 1232, 1233, 1, abc] Possible solutions:
fillEmailTemplateNo1(java.lang.Long, java.lang.String,
java.lang.String, java.lang.Integer, java.lang.String)

问题是什么?

您不是在实例上调用该方法,而是在类上调用该方法(
没有方法的签名:*static**mail.mailclatservice.fillEmailTemplateNo1


因此,要么在您的服务中声明它
static
(糟糕的做法),要么将服务注入控制器或其他服务中(例如,
def mailclatservice

您不是在实例上调用方法,而是在类上调用方法(
没有方法签名:*static**mail.mailclatservice.fillEmailTemplateNo1
).


因此,要么在您的服务中声明它
static
(糟糕的做法),要么在控制器或其他服务中注入服务(仅通过
def mailclatservice

我必须使用此服务,所以我将方法更改为static,谢谢我必须使用此服务,所以我将方法更改为static,谢谢