0
と全体のフレーズ:Velocityテンプレート - メッセージキーではなく、私がmessages_en.propertiesからのメッセージキーとMSGを含む電子メールテンプレート.vm持つプレースホルダ
#msg("email-body")
messages_en.propertiesがあります
email-body = Hello, $name!
後:
private String buildMessage(String templateName, Properties properties, Locale locale) {
Template template = getVelocityEngine().getTemplate(templateName);
VelocityContext context = new VelocityContext();
for (String key : properties.stringPropertyNames()) {
context.put(key, properties.getProperty(key));
}
context.put(LocaleDirective.MESSAGES_LOCALE, locale);
StringWriter writer = new StringWriter();
template.merge(context, writer);
return writer.toString();
}
私が取得:
Hello, $name!
名前は実際の値に置き換えられません。
メールテンプレートのフレーズを管理するにはどうすればよいですか?私はプレースホルダでフレーズ全体ではなく、テンプレートにメッセージキーだけを入れたいと思っています。
それは(この場合は電子メール本体内の)すべてのメッセージがのVelocityContextに置かれた場合に動作しますが、私の場合#msgで読み込み、.vmファイルで#evaluateしないでください。 – Justas
'msg'とは何ですか? –
#evaluate( '#msg( "email-body")')は、$ nameというHelloを出力します。 – Justas