我想使用 Java Mail 发送电子邮件,但我想使用速度模板定义邮件的内容和结构。有什么方法可以转换速度模板,以我可以像这样使用它的方式产生一个字符串:
String html = velocityConversion_or_whatever();
MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(html, "text/html");
谢谢。
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();
Velocy 有这方面的 util 类:
VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, templateUrl, model);