2014-10-09 58 views
0

我有一个例外。我创建了一个服务没有签名的方法,尽管填写相同的参数grails/groovy

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) 

问题是什么?

回答

4

您正在调用的方法不是在实例上,而是在类上(No signature of method: **static** mail.MailCollatService.fillEmailTemplateNo1)。

因此,要么宣布它在你的服务(糟糕的做法)static或(在控制器或例如,另一个服务只是def mailCollatService

+0

我必须使用该服务注入的服务,所以我改变方法静态的,谢谢 – ntlam 2014-10-09 07:06:06

相关问题