freemarker模板使用小例子

1,使用相关插件将业务数据,渲染进预备好的模板,并写入一个文件;将文件通过io操作转成String,最后可通过定时任务或者直接删除上面的文件。相关代码如下:

// 读取邮件模板
Configuration configuration = new Configuration();
configuration.setTemplateLoader(new SpringTemplateLoader(new DefaultResourceLoader(), "warningemail"));
configuration.setDefaultEncoding("utf-8");
Template template = configuration.getTemplate("template.ftl");

// 根据邮件模板生成html文件
if (!emailDirectory.exists()) {
emailDirectory.mkdirs();
}
emailFileName = emailPath + System.currentTimeMillis() + ".html";
writer = new FileWriter(new File(emailFileName));
template.process(responseMap, writer);

// 读取html文件,并转换成字符串
inputStream = new FileInputStream(emailFileName);
return IOUtils.toString(inputStream, "utf-8");

 // 最后记得删除过渡的文件

finally {
IOUtils.closeQuietly(writer);
IOUtils.closeQuietly(inputStream);

// 删除目录中的所有文件
try {
FileUtils.cleanDirectory(emailDirectory);
} catch (IOException e) {
//
}
}

2,html模板
 部分代码展示:

<#if mediaList?exists && mediaList?size gt 0>
<div><p>其中舆情风险${mediaNums?default('0')}条,内容如下:</p></div>
<#list mediaList as it>
<#if it.list?exists && it.list?size gt 0>
<div><p>${it.enterpriseName?default('-')}( ${it.totalCount?default('0')}条 ):</p></div>
<div class="right_title">阿斯顿发发骚<span>
<a href = "http://zxxcx" class="entcolor">查看全部</a>
</span></div>
<div class="showtables">
<table class="table">
<thead>
<tr>
<th>序打法是否</th>
<th>啊打发</th>
<th>啊打发爱上</th>
<th>阿斯顿发爱上</th>
<th>阿斯顿发</th>
<th>啊打发</th>
</tr>
</thead>
<tbody>
<#list it.list as item>
<tr>
<td>${item_index?if_exists+1}</td>
<td>${item.dateString?default('-')}</td>
<td><a href = ${item.link} class="entcolor">${item.title?default('-')}</a></td>
<td>${item.source?default('-')}</td>
<td>${item.keyHits?default('-')}</td>
<td>
<#if item.getRelationTypeList()?exists && item.getRelationTypeList()?size gt 0>
<span style="color:#1da02b;">(${item.relationTypeList[0]?default('其他关联')})</span>
</#if>
${item.ent_name?default('-')}
</td>
</tr>
</#list>
</tbody>
</table>
</div>
</br>
</#if>
</#list>
</#if>
posted @ 2020-05-27 17:01  seeAll  阅读(509)  评论(0编辑  收藏  举报