freemarker使用总结

这几天开发一个报表导出功能,使用的freemarker模板引擎。

第一次使用走了不少弯路。。。

首先是修改模版,将数据字段用占位符替换,这里注意占位符尽量用单个字符如${Y},因为Doc转Xml后占位符太长可能会被分隔开,

如果被拆开,到时候还得修改xml文件。修改模版文件的时候,由于之前习惯用ue,后来发现用ue改这个文件就是个坑,此处省略。。。推荐使用notepad

还有模版不命名成ftl也行,直接xml就行,后缀名而已,不影响使用。

还有就是循环list的问题

找到开始循环行<w:tr>、</w:tr>节点

<#list export.reportErrInfoList as Y>

${Y_index+1} //序号

${Y.name}

${Y.age}

</#list>

这里发现了一个问题 当时我写的占位符是${export.Province},一直报错,后来改为${export.province}神奇的对了。

模版文件放置的目录那里也走了不少弯路,

第一次使用的是configuration.setClassForTemplateLoading(this.getClass(), "/");这种方法加载模版文件,我把文件放在项目根目录下,获取文件模版失败。

然后各种路径下都放了模版,就是获取不到模版文件,后来经验证maven项目应该放在src目录下...

原文地址:https://www.cnblogs.com/twelve-eleven/p/7020114.html