freemarker的数据格式化

当数据超过3位的时候,freemarker会自动用逗号截取 格式如:2,008

如何解决呢?

1> 加.toString(),如:${(userId).toString()}
2> 加?c,如:${(userId)?c}
3> freemarker配置文件freemarker.properties加上number_format=#

判断是否为空:

1.<#if xx?exists>

2.<#if xx??>

3.<#if xx?default("xxx")>

不然当xxList没有数据的时候 ,很大很大一个黄页就等着你了

数据类型转换:

${xx?string} //字符串
${xx?number}//整数
${xx?currency}//小数
${xx?percent}
//百分比

截取字符串长度:

有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的列子就可以自定义显示的长度

< lt. <= lte. > gt. >= gte

<#if jstbqkVO.gzdd?length lt 8>
           <a href>${jstbqkVO.gzdd?default("")}</a>
      <#else>
           <a href title="${jstbqkVO.gzdd}">${jstbqkVO.gzdd[0..3]?default("")}...</a>
</#if>

意思就是如果这个字符串的长度小于8,那么就正常显示,反之则取4位

嵌套list:

很多时候,数据库里存储的都是编号,而页面上需要显示的汉字,而且不在一张表里,看列子

<#list jsskList as jsskVO>

<#list kcList as kcVO>
           <#if kcVO.kch=jsskVO.kch> (kcVO里有编号和名称,而jsskVO里只有编号)
                  ${kcVO.kcm}
           </#if>
   </#list>

</#list>

排序:

1.升序.sort_by()

<#list list?sort_by("字段") as x>
</#list>

2.降序.sort_by()?reverse

<#list list?sort_by("字段")?reverse as x>
</#list>

去空格:

${xx?trim}

格式化日期:

${date?string("yyyy-MM-dd HH:mm:ss ")}
${date?string("yyyyMMdd ")}




freemarker数字格式化可以在两个地方设置,一个是全局的,即在freemarker.properties文件中设置number_format,还有一个是使用string指令来控制数据的输出格式。例如:

${num?string('0.00')}
如果小数点后不足两位,用 0 代替

${num?string('#.##')}
如果小数点后多余两位,就只保留两位,否则输出实际值
输出为:1239765.46

${num?string(',###.00')}
输出为:1,239,765.46
整数部分每三位用 , 分割,并且保证小数点后保留两位,不足用 0 代替

${num?string(',###.##')}
输出为:1,239,765.46
整数部分每三位用 , 分割,并且小数点后多余两位就只保留两位,不足两位就取实际位数,可以不不包含小数点

${num?string('000.00')}
输出为:012.70
整数部分如果不足三位(000),前面用0补齐,否则取实际的整数位

${num?string('###.00')}
等价于
${num?string('#.00')}
输出为:12.70
整数取实际的位数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值