导入依赖
<dependencies>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.22</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
foot.ftl模板文件
<head>
这是外面的资源
</head>
freemaher.ftl 模板文件
<html>
//引入外面的资源
<#include "foot.ftl">
<body>
//定义常量
<#assign name="张三">
<#assign message="你好">
this is ${name},your ${message}
//定义json格式
<#assign info={"phone":"12345","sex":"男"}>
<hr/>
${name} ${info.phone} ${info.sex}
<#if name="李四">
你真好
<#else>
你是都比
</#if>
<hr>
<ul>
<#list list! as map>
<li>
姓名:${map.no}
年龄:${map.age}
</li>
</#list>
</ul>
</body>
</html>
执行生成html文件
@Test
public void test1() throws Exception{
//创建configuration对象,Configuration.getVersion()为得到当前版本号
Configuration configuration = new Configuration(Configuration.getVersion());
//设置改文件目录
configuration.setDirectoryForTemplateLoading(new File("D:\\ftl"));
//设置字符集
configuration.setDefaultEncoding("utf-8");
//得到该模板
Template template = configuration.getTemplate("freemaker.ftl");
//创建数据
Map map=new HashMap();
map.put("no","小红");
map.put("age",11);
Map map1=new HashMap();
map1.put("no","小蓝");
map1.put("age",12);
Map map2=new HashMap();
map2.put("no","hh");
map2.put("age",13);
List list=new ArrayList<>();
//数据都添加到集合
list.add(map);
list.add(map1);
list.add(map2);
Map m=new HashMap();
//存储数据
m.put("list",list);
//用输出流写到一个文件
FileWriter fileWriter = new FileWriter("D:\\ftl\\hello.html");
//执行模板
template.process(m,fileWriter);
fileWriter.close();
}