当前位置: 代码迷 >> Web前端 >> freemarker 数目字,字符的操作
  详细解决方案

freemarker 数目字,字符的操作

热度:1047   发布时间:2013-01-26 13:47:01.0
freemarker 数字,字符的操作
1. 数据类型转换:
${xx?string} //字符串
${xx?number}//整数
${xx?currency}//小数
${xx?percent}//百分比


2. 截取字符串长度
有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的列子就可以自定义显示的长度
< 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位

3.数字转字符型,数字的格式化
<#list 1990...2020 as a>
     ${a}
</#list> 

这样会遇到一个问题,当数据超过3位的时候,freemarker会自动用逗号截取 格式如:2,008
如何解决呢?
1> 加.toString(),如:${(userId).toString()}
2> 加?c,如:${(userId)?c}
3> freemarker配置文件freemarker.properties加上number_format=#

4. 字符去空格
${xx?trim}


5. 格式化日期
${date?string("yyyy-MM-dd HH:mm:ss ")}
${date?string("yyyyMMdd ")}