JAVA中如何使用freemaker模版进行输出
2013-02-07 10:42
501 查看
首先你要有一个定义好的ftl文件,也就是最终输出的样式定义
<html> <head> <title></title> </head> <style type="text/css"> table { width: 800px; height: 400px; border: 2px solid black; } table thead tr td{ text-align: center; border-right: 1px solid #C1DAD7; border-bottom: 1px solid #C1DAD7; background: #fff; font-size: 20px; font-weight: bold; color: #4f6b72; } .td1 { border-right: 1px solid #C1DAD7; border-bottom: 1px solid #C1DAD7; background: #fff; font-size: 14px; padding: 6px 6px 6px 12px; color: #4f6b72; width: 100px; } .td2 { border-right: 1px solid #C1DAD7; border-bottom: 1px solid #C1DAD7; background: #fff; font-size: 14px; padding: 6px 6px 6px 12px; color: #4f6b72; width: 500px; } </style> <body> <center> <table> <thead> <tr> <td colspan='2'>AlertMail</td> </tr> </thead> <tr> <td class="td1">Mon_type</td> <td class="td2">${AM.monType}</td> </tr> <tr> <td class="td1">Alert_code</td> <td class="td2">${AM.alertCode}</td> </tr> <tr> <td class="td1">Alert_text</td> <td class="td2">${AM.alertText}</td> </tr> <tr> <td class="td1">Mon_date</td> <td class="td2">${AM.monDate}</td> </tr> </table> </center> </body> <html>然后写一个加载ftl文件的JAVA类
import java.io.StringWriter; import java.util.Map; import com.service.impl.MonServiceImpl; import freemarker.template.Configuration; import freemarker.template.Template; /* * use freemarker to send email */ public class FreemarkUtil { private static Configuration cfg; private static void initialConfig() { cfg = new Configuration(); cfg.setClassForTemplateLoading(MonServiceImpl.class, "/package的名字,用'/'隔开/"); } /* * templateName means the ftl file name * param means the Object used in ftl */ public static String getMail(String templateName, Map<String, Object> param) { String result = null; try { if (cfg == null) { initialConfig(); } Template temp = cfg.getTemplate(templateName); StringWriter writer = new StringWriter(); temp.process(param, writer); result = writer.toString(); writer.flush(); } catch (Exception e) { e.printStackTrace(); } return result; } }然后在需要网ftl中输出内容的地方
paramMap.put("AM", a); AM即FTL中的对象名,要一致
String mailContent = FreemarkUtil.getMail("FTL文件的名字.ftl", paramMap); mail.setContent(mailContent);通过以上语句就可以是实现了。
相关文章推荐
- 如何使用socket进行java网络编程(三)
- 如何使用java synchronized进行线程同步
- 如何使用java代码进行视频格式的转换(FLV)
- 如何使用java synchronized进行线程同步
- 如何使用java synchronized进行线程同步
- JAVA中使用log4j及slf4j进行日志输出的方法详解
- 如何使用java synchronized进行线程同步
- zookeeper学习-3(如何使用zookeeper进行集群管理-java版本)
- 在Java中使用标准输入输出设备进行字符串,整数浮点数等 的输入输出操作
- 如何使用Hadoop的MultipleOutputs进行多文件输出
- 如何使用Docker进行Java入门级开发
- 如何使用CryptoJS配合Java进行AES加密和解密
- java开发中如何使用JVisualVM进行性能分析
- 如何使用Docker进行Java入门级开发
- 如何使用java synchronized进行线程同步 .
- 如何使用java进行sha1加密
- 使用Java的代理机制进行日志输出
- java如何对map进行排序详解(map集合的使用)
- linux系统如何使用tess4j(java)进行ocr图片文字识别
- 使用Java的代理机制进行日志输出