freemarker的list指令小技术归纳

1、问题:当数据超过3位的时候,freemarker会自动用逗号截取,例如2,311
解决方法(一种即可):
(1)加.toString(),如:${(data).toString()}
(2)加?c,如:${(data)?c}(将数字转换成字符串,这都是对计算机来说的,而不是对用户。)
(3)freemarker配置文件freemarker.properties加上:number_format=#

2、问题:判断是否为空,当没有数据的时候 ,很大很大一个黄页就等着你了。
解决方法(一种即可):
(1)<#if xx[0]?exists>
(2)<#if xx??>
(3)<#if xx?default("xxx")>
例如:
  <#if list??>
  <#list dataList10 as data>
  <p>${data}</p>
  </#list>
  </#if>

3、问题:序列号,页面的table需要在第一列显示序号。
解决方法:
(1)使用 _index   注意:是从0开始的。
例如:
  <#list dataList_1 as data>
  <p>${data_index+1}</p>
  </#list>

4、问题:数据类型转换
解决方法:(具体参考官方手册)
(1)${xx?string} //字符串
(2)${xx?number}//整数
(3)${xx?currency}//小数
(4)${xx?percent}//百分比

原文地址:https://www.cnblogs.com/james1207/p/3260646.html