Freemarker 各种格式化

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

整数取实际的位数

时间: 2024-10-21 03:44:10

Freemarker 各种格式化的相关文章

freemarker数字格式化带来的操作问题

freemarker在解析数据格式的时候,自动默认将数字按3为分割(1,000),这个问题给操作带来一定的额外处理复杂度,解决方法有如下几种: 1.在模板中直接加.toString()转化数字为字符串,如: ${languageList.id.toString()}: 2.在freemarker配置文件freemarker.properties加 <#setting number_format="#">或者 <#setting number_format="

freemarker 时间格式化注意事项

${document.publishDate?string("yyyy-MM-dd")} 取出的是 2015-05-20 ${document.publishDate?string("yyyy-MM-dd hh:mm:ss")} 取出的是 2015-05-20 01:26:30(12小时制) ${document.publishDate?string("yyyy-MM-dd HH:mm:ss")} 取出的是 2015-05-20 01:26:30

struts整理

Value注入值,ref注入对象 Jsp实时编译的,freemarker是预编译的 EL表达式只能取session.application.request的值 将String[]转换为List<String> Arrays.<String>alist(数组对象) Struts中上传文件大小不得大于2mb Struts中xml有继承的概念 拦截器方法在action执行前或之后执行,动态代理的原理,ref引用对象 Struts中没有404错误,一般为struts的异常模板,除非转发页面

笔记之_java整理struts

weixinAPI微信对接 Struts标签库 Xml的地址:http://blog.csdn.net/xiazdong/article/details/7293177 Struts注入优先考虑modelDirven中找,其次才是setter方法 Value注入值,ref注入对象 Jsp实时编译的,freemarker是预编译的 EL表达式只能取session.application.request的值 将String[]转换为List<String> Arrays.<String>

freemarker常用值格式化方法

freemarker常用的值格式化方法: 1.${price?string('0.00')} 对price进行格式化,小数点后不足2位用0补足. 比如:price=1 输出:1.00 2.${price?string('#.##')} 对price进行格式化,小数点后多余2位只保留2位,少于2位显示实际位数. 比如:price=1.234 输出:1.23 3.${price?string.currency} 对price进行格式化,显示为货币格式. 比如:price=1 输出:¥1.00 4.$

freemarker内置函数,数字,字符串,日期格式化

一.  Sequence的内置函数 1.  sequence?first 返回sequence的第一个值. 2.  sequence?last  返回sequence的最后一个值. 3.  sequence?reverse 将sequence的现有顺序反转,即倒序排序 4.  sequence?size    返回sequence的大小 5.  sequence?sort    将sequence中的对象转化为字符串后顺序排序 6.  sequence?sort_by(value) 按seque

Spring+mybatis+shiro+freemarker+ehcache+ldap+mongo【转】

所有配置文件在此 spring servlet: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"        xmlns:aop="http://www.springframework.org/schema/aop"        xmlns:context=&q

FreeMarker中文API手冊(完整)

FreeMarker概述 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 尽管FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(例如以下图) FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件 FreeMarker与容器无关,由于它并不知道HTTP或Serv

Freemarker 常用指南(收藏)

1,截取字符串 有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 < lt. <= lte. > gt. >= gte <#if jstbqkVO.gzdd?length lt 8> <a href>${jstbqkVO.gzdd?default("")}</a> <#else> <a href title="${jstbqkVO.gzdd}&quo