2014-07-03 49 views
0

我收到此錯誤信息:發送郵件沒有這樣的屬性相剋

No such property: g for class: grails.plugin.mail.MailMessageBuilder 

的代碼是:

mailService.sendMail { 
       to "[email protected]" 
       from "[email protected]" 
       subject "Welcdome to d " 
       body "jjj" 
       html g.render(template: "/email/mailll", 
      model: [remark: "OLAA PEOPLE!", yourname: user.firstName, yourmail: user.username]) 
      } 
+0

這個代碼在哪裏? Taglibs在控制器中可用,但不在服務中。 –

+0

P.S.請不要使用「groovy」標籤來標記Grails問題,除非這些問題是關於Groovy作爲編程語言的具體問題。 –

回答

3

,則不應使用htmlbody在一起,只使用一個或另一個。調用body可能需要viewmodel參數來自己進行模板渲染,您不需要使用g.render(如果您使用的是服務而不是控制器,則無法使用)。

mailService.sendMail { 
    to "[email protected]" 
    from "[email protected]" 
    subject "Welcdome to d " 
    body(view:"/email/_mailll", model: [remark: "OLAA PEOPLE!", 
       yourname: user.firstName, yourmail: user.username]) 
} 

注意,view參數不做下劃線改造模板的名稱,所以你必須包括強調自己,如果你想渲染GSP包括一個。

2

此代碼僅在ControllerTagLib中調用時有效。 g -Taglib對象不適用於任何其他Grails文物,如Service

如果你想呈現從服務中的電子郵件的身體,你必須使用Groovy的SimpleTemplateEngine

相關問題