HI,Usar propiedades Java en Freemarker
Tengo un archivo típico messages.properties
en mi aplicación. Estoy tratando de generar un correo electrónico usando Freemarker.
La plantilla de Freemarker debe generar un String
, después de lo cual enviaré el String
al usuario por correo electrónico. Sin embargo, lo necesitamos multilingüe. Así que Properties
me vino a la mente.
Mi archivo de propiedades es el siguiente:
mail.layout.contactus=Contacteer ons
mail.layout.greeting=Hoi
En Java, entro en el archivo Properties
en mi HashMap
así:
rootMap.put("lang", (mail.getLanguage().equals(Language.FRENCH) ? langFR : langNL));
y tratar de leerlo en FreeMarker así:
<p>${lang.mail.layout.greeting} ${user.firstname},</p>
Pero consigue la siguiente excepción:
freemarker.core.InvalidReferenceException: Expression lang.mail is undefined on line 10, column 116 in layout/email.ftl.
Extrañamente, sólo dice lang.mail
a diferencia de lang.mail.layout.greeting
Editar: intenté definir las llaves de esta manera:
mail_layout_contactus=Contacteer ons
mail_layout_greeting=Hoi
que no trabajan
Grande, que funciona! Gracias –