2013-10-13 50 views
1

當我調用grails message()函數來查找和評估消息密鑰對時,它無法評估參數。Grails消息(),messages.properties參數沒有評估

在我的控制,我把消息功能:

rejectWithError(message(code: "email.validationFailed", args: [session.job.email])) 

和messages.properties我:

email.validationFailed=Some message with {0}! Please login with {0} instead. 

但是當呈現頁面時,ARG遊戲沒有更換:

Some message with {0}! Please login with {0} instead. 

我在做什麼錯?

+1

您正在使用什麼版本的Grails的?電子郵件是一個域類嗎? – dspies

+0

'email'是在會話中保留的域類Job上的字符串字段。我正在使用Grails版本2.2.1。 –

+0

這沒有奏效。即使重啓。 –

回答

0

請嘗試以下之一:

將其連接到job對象

job.errors.reject('job.email.validationFailed', 
        [session.job.email] as Object[], 
        'A default error message') 

,或者如果你想將它連接到email字段中job對象

job.errors.rejectValue('email', 
      'job.email.validationFailed', 
      [session.job.email] as Object[], 
      'A default error message') 

參見:

+0

我會試試這個。我很難過,爲什麼它不能和'message(code:「blah」,args:[])'一起工作 - 但我的期望是錯的。僅供參考'flash.message'賦值... –

+0

我相信你是正確的'message(code:'some.code',args:[])'應該工作。你的gsp看起來像什麼?你是直接顯示這個消息(例如'$ {myMessageFromController}'),還是你試圖在gsp中使用''? – dspies