此案例使用简单的map,如需要使用更高级的请使用实体类封装,原理相同,最终需要的是map类型的数据,无论是list都一样
list<Map<String,Object>> list =new HashMap<Map<String,Object>>();
在项目开发中生成xml,xb,html,word的入门首选,理解是关键。至于生成复杂的xml,xb结构的数据,在word中动态生成列等案例后续补充
1.导入freemarker的jar包
2.书写代码和模板文件
3.运行
1.代码
package com.freemarker;import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class TestFreemarker {
public static void main(String[] args) {
try {
Configuration configuration = new Configuration();
configuration.setDefaultEncoding("utf-8");
configuration.setDirectoryForTemplateLoading(new File("D:\\develop\\testdemo\\src\\com\\freemarker"));
Template template = configuration.getTemplate("template.ftl");
Map<String,String> map = new HashMap<String,String>();
map.put("username", "zhangsan");
map.put("password", "123456");
File file = new File("D:\\test.xml");
BufferedWriter out = new BufferedWriter(new FileWriter(file));
template.process(map, out);
out.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2.模板template.ftl文件内容
<?xml version="1.0" encoding="UTF-8"?>
<p:a ${username}></p:a>
<td>${password}</td>