1

Java Mail を使用して電子メールを送信したいのですが、ベロシティ テンプレートを使用してメールの内容と構造を定義したいと考えています。次のように使用できる方法で文字列を生成する速度テンプレートを変換する方法はありますか:

String html = velocityConversion_or_whatever();
MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(html, "text/html");

ありがとう。

4

2 に答える 2

3

Velocity はテンプレートを にレンダリングできるため、StringWriterそこから文字列から HTML を取得するのは非常に簡単です。Velocity エンジンを既に構成していると仮定すると、次のことができます。

Map data = new HashMap();
// Add data to your map here

StringWriter writer = new StringWriter();
VelocityContext velocityContext = new VelocityContext(data);
velocityEngine.mergeTemplate(templateLocation, velocityContext, writer);
String html = writer.toString();
于 2012-08-16T07:43:34.100 に答える
0

Velocy には、このためのユーティリティ クラスがあります。

VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, templateUrl, model);
于 2013-03-29T15:44:04.837 に答える