现在做的项目是通过freemaker的ftl自定义模板来实现特定格式的,自己实现了几个模板,对所学内容做一个小总结。
一.模板的组成
1,文本,即直接输出的部分
2,注释<#-- -->格式的不会输出
3,插值,即${...},将使用数据模型种的值代替输出
4,freemaker指令,和HTML标记类似,名字前加#予以区分,不会输出
freemaker模板详细讲解
https://www.cnblogs.com/liuJava/p/4968020.html
贴上一个自定义的模板
BDB:${ORDER}
<#if FLAG??>
1 UNBOARDED
1 BOARDING NUMBER ACCEPTED
BN REASON
<#list RESULT as tmp>
${tmp.index+1} ${tmp.PSG_NAME}
</#list>
<#else>
1 BOARDING NUMBER NOT ACCEPTED
BN REASON
1 PAX NOT BOARDED
</#if>
其中:
${ORDER}为程序中返回的map中的key ,
<#if><#else></#if>条件判断指令
<#list RESULT as tmp> </#list> 循环控制指令,这样能遍历输出。RESULT是map种的key,value是List<Map<Object,Object>>类型的数据,所以想要得到内层的value,==》${tmp.KEY}
??:判断前面的值是否为空