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 有这方面的 util 类:

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