freemarker正常生成HTML的模板引擎,公司需求将书籍来源的数据发放到不同的渠道,每个渠道生成特定的模板,这样数据自动生成相应的格式,主要是生成xml格式,所以根据网上的Demo改成了对应项目测试的Demo.--------------------此为背景。
正常的模板文件.flt的,但是发现改成.xml格式的也完全没有问题,我表示非常高兴,哇卡卡卡~
网上有很多标签大全,我就捡我用过的标签写:(不断的补充ing。。。)
1.<#if></#if>
<#elseif> 跟java的if else一个意思,后面加表达式, if 和elseif
最后公用一个</#if>结束标签。
freemarker对于null值要求非常严格,会报错,所以所有值必须加判断是否存在<#if
(metadata.EISBN)!""> 我是这么用的,还有别的方法 回头把标签大全粘过来~~~
2.<#list></#list>
循环这个标签非常好用,<#list Onix as metadata>
item_index:当前变量的索引值
item_has_next:是否存在下一个对象 其中item名称为as后的变量名,如stu
3.<#assign/>
<#assign s="sss"/>这是正常声明一个字符串
<#assign l=0..100/>这是声明一个int区间的集合
<#assign s=audience.audienceValue/>这是取root里面的值
4.${exp}插值,里面直接放表达式
${.now?string("yyyyMMdd")}
这是新加的标签,表示当前时间,后面可以生成不同格式的。
5.字符串处理(跟java的都一样)
?split("-")根据"-"将字符串分成list
?index_of("-")判断是否存在字符串"-",存在返回下表,不存在返回-1
6.<#--> </#-->注释标签
目前就用了这么多标签就搞定了