1、格式化日期

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

如果指定的变量不一定存在,可以这样:

${(dateMap.beginTime?string("yyyy.MM.dd"))!''}  

2、显示boolean值

<#assign foo=true/>
${foo?string("yes", "no")}

3、截取字符串长度

<#if (userVO.cnname)?? && ((userVO.cnname)?length > 10) >
${userVO.cnname?substring(0,10)}..
<#else>
${(userVO.cnname)!''}
</#if>

4、数字格式 
Freemarker中预订义了三种数字格式:number,currency(货币)和percent(百分比)其中number为默认的数字格式转换 
例如:

<#assign tempNum=20>
${tempNum}
${tempNum?string.number}或${tempNum?string(“number”)} 结果为20
${tempNum?string.currency}或${tempNum?string(“currency”)} 结果为¥20.00
${tempNum?string. percent}或${tempNum?string(“percent”)} 结果为2,000%

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

整数取实际的位数

Freemarker 各种格式化的更多相关文章

  1. freemarker数字格式化

    1.在模板中直接加.toString()转化数字为字符串,如:${languageList.id.toString()}: 2.在freemarker配置文件freemarker.properties ...

  2. Freemarker日期格式化处理

    基本参数: date: 只显示日期,不显示时间.如${createTime?date} 或${createTime?date('yyyy-MM-dd')} time: 只显示时间,不显示日期如${cr ...

  3. freemarker数值格式化

    语法:number?string(exp) 说明:根据给定的格式化表达式将数值格式化为字符串. 参数:格式化字符串,"0"表示固定占位(至少有这个位数,不足位数用0代替),&quo ...

  4. freemarker数据格式化问题(即数值超过三位后自动添加逗号问题)

    实际数据:{value:1007, name:'通用设备'}, 浏览器回显数据: 得出: freemarker 当数据超过3位的时候,会自动用逗号截取 格式如:1,007 解决办法: 加?c,如:${ ...

  5. freemarker 数字格式化函数

    ${num?string('0.00')} 如果小数点后不足两位,用 0 代替 ${num?string('#.##')} 如果小数点后多余两位,就只保留两位,否则输出实际值 输出为:1239765. ...

  6. freemarker 时间格式化注意事项

    ${document.publishDate?string("yyyy-MM-dd")} 取出的是 2015-05-20 ${document.publishDate?string ...

  7. Freemarker中遍历List以及内置函数使用

    在Freemarker应用中经常会遍历List获取需要的数据,并对需要的数据进行排序加工后呈现给用户. 那么在Freemarker中如何遍历List,并对List中数据进行适当的排序呢?一. Free ...

  8. freemarker相关

    大部分引入:http://www.blogjava.net/alinglau36/archive/2011/02/23/344970.html Freemarker操作字符串 1.substring( ...

  9. freemarker常用值格式化方法

    freemarker常用的值格式化方法: 1.${price?string('0.00')} 对price进行格式化,小数点后不足2位用0补足. 比如:price=1 输出:1.00 2.${pric ...

随机推荐

  1. ArrayList的线程安全测试

    public class TestThread implements Runnable{ private List list; CountDownLatch cdl; public TestThrea ...

  2. Eclipse代码追踪功能说明

    在使用Java编写复杂一些的程序时,你会不会常常对一层层的继承关系和一次次方法的调用感到迷惘呢?幸亏我们有了Eclipse这么好的IDE可以帮我们理清头绪--这就要使用Eclipse强大的代码追踪功能 ...

  3. 链剖&LCT总结

    在搞LCT之前,我们不妨再看看喜闻乐见的树链剖分. 树链剖分有一道喜闻乐见的例题:NOI2015 软件包管理器 如果你看懂题目了,你就会明白它是叫你维护一个树,这棵树是不会动的,要兹磁子树求和,子树修 ...

  4. CoreAnimation笔记

    核心动画继承结构 CoreAnimation Core Animation是直接作用在CALayer上的(并非UIView上)非常强大的跨Mac OS X和iOS平台的动画处理API,Core Ani ...

  5. java多线程系类:基础篇:01基本概念:

    这个系类的内容全部来源于http://www.cnblogs.com/skywang12345/p/3479024.html.特别在此声明!!! 本来想直接看那位作家的博客的,但还是复制过来. 多线程 ...

  6. WPF DatePicker默认显示当前日期

    WPF的日历选择控件默认为当前日期,共有两种方法,一种静态,一种动态. 静态的当然写在DatePicker控件的属性里了,动态的写在对应的cs文件里,具体请看下面.     1.方法一:     my ...

  7. scala 学习笔记(05) OOP(中)灵活的trait

    trait -- 不仅仅只是接口! 接上回继续,scala是一个非常有想法的语言,从接口的设计上就可以发现它的与众不同.scala中与java的接口最接近的概念是trait,见下面的代码: packa ...

  8. eclipse/intellij Idea集成jetty

    jetty相对weblogic.jboss.tomcat而言,启动速度快,十分方便开发调试,以下是eclipse里的使用步骤: 一.eclipse->Marketplace里搜索 jetty 一 ...

  9. Last-Modified,Etag,Expire区别

    Last-Modified 是什么 Last-Modified 是 HttpHeader 中的资源的最后修改时间,如果带有 Last-Modified ,下一次发送 Http 请求时,将会发生带 If ...

  10. Jenkins进阶系列之——18Jenkins语言本地化

    在Jenkins中,英语一大片,看着各种蛋疼.非常高兴的是,Jenkins作为一个主流流行的持续构建工具,提供了一个本地化语言的配置界面. 你可以找到它,在Jenkins每页的左下角.如下图: 点击帮 ...