FreeMarker 简单使用

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

参考链接:Maven依赖 & Java API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值