2014-10-09 57 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

相關問題