2012-08-16 35 views
1

我想使用Java Mail發送電子郵件,但我想使用速度模板定義郵件的內容和結構。有沒有什麼辦法可以產生一個字符串的速度模板的轉換,我可以像這樣使用它:速度模板轉換爲java字符串

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

謝謝。

回答

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(); 
0

Velocy有這樣的util類:

VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, templateUrl, model);