我在我的應用程序中有一個典型的messages.properties
文件。 我正嘗試使用Freemarker生成電子郵件。
Freemarker模板應生成String
,之後我會通過電子郵件將String
發送給用戶。但是,我們需要它多種語言。 因此想到了Properties
。
我的屬性文件看起來是這樣的:
mail.layout.contactus=Contacteer ons
mail.layout.greeting=Hoi
在Java中,我在HashMap
進入Properties
文件是這樣的:
rootMap.put("lang", (mail.getLanguage().equals(Language.FRENCH) ? langFR : langNL));
並嘗試像這樣來讀取它的FreeMarker:
<p>${lang.mail.layout.greeting} ${user.firstname},</p>
但是得到以下異常:
freemarker.core.InvalidReferenceException: Expression lang.mail is undefined on line 10, column 116 in layout/email.ftl.
奇怪的是,它只是說lang.mail
而不是lang.mail.layout.greeting
編輯: 我試圖定義這樣我的鑰匙:
mail_layout_contactus=Contacteer ons
mail_layout_greeting=Hoi
它確實工作
大,的作品!謝謝 – 2011-05-17 06:36:25