2013-10-08 25 views
0

我正在通過message.properties在我的應用程序中顯示文本,現在在某些情況下我必須顯示類似的消息,並稍作更改。是否有可能在消息屬性只喜歡檢查條件:是否可以在message.properties文件中編寫表達式?

if (a == salary) { 
    code = your salary for this month is {0} 
}else if (a == tax) { 
    code = your tax for this month is {0} 
} 

現在,在這種情況下,在文本中唯一區別是工資和稅收,而不是在控制器檢查它,或者我要檢查在message.properties這種情況下只。可能嗎 ?如果是的話如何?

謝謝!提前。

回答

1

我不認爲你需要在messages.properties檢查,只是改變你的代碼

your {0} for this month is {1} 

,並在郵件中傳遞a作爲參數就像

g.message(code: 'adminUsers.restore.confirm.message', args: [a, 'XXX']) 
+0

謝謝你回答,但那不是我要求的。其實我不能在例子中解釋我想問的簡單的事情是我們可以檢查message.properties中的條件嗎? –

1

不,不是。由於屬性只是屬性文件。但我知道有些插件可以擴展與屬性文件一起使用的功能。我認爲在你的情況下,你必須將'邏輯'部分分配給你的控制器\服務,並且只在* .properties文件中留下消息

+0

謝謝Andrii。我會研究是否有任何插件。 –

0

可以創建條件消息來處理複數/單數(使用MessageFormat/choice) 。

但是你要求的不是該功能的正確使用。

your {0} for this month is {1}也是一個壞主意,因爲它會弄亂翻譯。 「稅」和「工資」在某些語言中可能具有不同的性別,並且可能會影響句子中遠處的單詞。

最好是在性能完整的句子,如條件語句,替換沒有章法等

爲什麼你想這個呢?保存幾句話?

+0

我在應用程序中的應用程序中有完整的單詞,我只是想簡化它。無論如何謝謝你的答案。 –

相關問題