Java使⽤FreeMarker⽣成动态表格
FreeMarker是⼀款: 即⼀种基于模板和要改变的数据, 并⽤来⽣成输出⽂本(HTML⽹页、电⼦邮件、配置⽂件、源代码等)的通⽤⼯具。 它不是⾯向最终⽤户的,⽽是⼀个Java类库,是⼀款程序员可以嵌⼊他们所开发产品的组件。
FreeMarker是免费的,基于Apache许可证2.0版本发布。其模板编写为FreeMarker Template Language(FTL),属于简单、专⽤的语⾔。需要准备数据在真实编程语⾔中来显⽰,⽐如数据库查询和业务运算, 之后模板显⽰已经准备好的数据。在模板中,主要⽤于如何展现数据, ⽽在模板之外注意于要展⽰什么数据 。
在开发时使⽤到了freemarker模板引擎作为报表的表格模板,所以今天写⼀篇博客加强⼀下学习效果。
1.写⼀个简单的模板⽂件table.ftl
<table>
<tr>
<td>姓名</td><td>座右铭</td>
</tr>
<tr>
<td>${name}</td><td>${msg}</td>
</tr>
</table>
2.引⼊freemarker
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
3.编写Java⽅法
package pmon;
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;
plate.Configuration;
plate.Template;
plate.TemplateException;
public class FreeMarkerTest {
public static void main(String[] args) {
Map<String, Object> data = new HashMap<>();
data.put("name", "daiwenlong");
data.put("msg", "hello world");
System.out.println(MakeHtml(data));
}
/**
* ⽣成带数据的html
* @param data 数据
* @return
*/
public static String MakeHtml(Map<String, Object> data){
// 第⼀步:创建⼀个Configuration对象。
Configuration configuration = new Version());    // 创建⼀个Writer对象。
StringWriter out = new StringWriter();
try {
// 第⼆步:设置模板⽂件所在的路径。
configuration.setDirectoryForTemplateLoading(new File("D:\\JavaWorkspace"));  // 第三步:设置模板⽂件使⽤的字符集。
configuration.setDefaultEncoding("utf-8");
// 第四步:加载⼀个模板,创建⼀个模板对象。
Template template = Template("table.ftl");
// 第五步:调⽤模板对象的process将数据塞⼊模板中。
template.process(data, out);
//返回处理好的HTML字符串
String();
} catch (IOException|TemplateException e) {
return "error";
} finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
html网页免费模板
}
}
}
}
4.查看控制台输出结果

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。