Maven依赖
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
数据模型
List<Object> teachers = new ArrayList<Object>();
Teacher teacher = new Teacher();
teacher.setName("Emmo");
teacher.setAge(34);
teacher.setCourse("English");
teachers.add(teacher);
Map<String, List<Object>> dataModel = new HashMap<String,
List<Object>>();
dataModel.put(DATA_MODEL, teachers);
try {
// 获取模板
String templatePath = String.format(FORMAT, new Object[] { "teacher",
"basic_info" });
Template template = cfg.getTemplate(templatePath);
// 将数据渲染到模板
StringWriter out = new StringWriter();
template.process(dataModel, out);
return out.toString();
} catch (IOException | TemplateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
模板
<#compress>
{
<#if dataModel??>
<#list dataModel as teacher>
<#if teacher.name??>
"name": "${teacher.name?j_string}",
</#if>
<#if teacher.age??>
"age": ${teacher.age},
</#if>
<#if teacher.gender??>
"sex": "${teacher.gender?j_string}",
<#else>
"sex": "male",
</#if>
<#if teacher.course??>
"course": "${teacher.course?j_string}"
</#if>
</#list>
</#if>
}
</#compress>
Github:xiaojiaC/helloworld