velocity模板转换为java字符串

时间:2012-08-16 07:18:18

标签: java velocity

我想使用Java Mail发送电子邮件,但我想使用速度模板定义邮件的内容和结构。有没有办法转换速度模板,产生一个String,就像我可以这样使用它:

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

感谢。

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

Velocy有这样的实用类:

VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, templateUrl, model);