Freemarker(.ftl文件)判断是否相等,是否为空,list长度判断,字符串截取,数字,日期等格式化

1. 判断对象是否存在(null)

经常会用到,如果对象 != null 则xxxx,在freemarker中表达比较奇怪,例如判断 target 是否为null,如果不为 nll 则做xxx动作

<#if target??>

    xxxx

</#if>

(目标变量后面连续两个??)

2. 字符串或数字比较

java里标准字符串比较需要 .equals() 方法,在freemarkder中进行了简化,字符串的比较方法和数字做到完全一样

<#if str == "success">

    xxx

</#if>

<#if str !== "error">

    xxx

</#if>


三:判断list长度是否大于0

<#if (fields?size>0) >

</#if>

四:截取字符串长度

<#if infos.name?length lt 7 > 
${infos.name} 
<#else> 
${infos.name[0..6]}... 
</#if>

 
五:时间格式化

时间戳转日期 

  ${time?number_to_datetime}

  ${time?number*1000} 时间戳乘1000

日期格式化

  ${dateTime?string('yyyy-MM-dd hh:mm:ss')}   格式化为 2020-11-12 15:05:29

  ${dateTime?string('yyyy-MM-dd ')}   格式化为 2020-11-12

六:数值格式化

需注意:Freemarker中对于数值只有三种类型,

        货币(currency类型)::${0.3?string.currency}
        百分比(percent类型):${0.3?string.percent}
        数字(number类型)(默认):${0.3?string.number}---默认会有千分位显示,(例如5000则显示为5,000)number

如若不需要这种显示则可以(前提传入的数据是number类型)${number?string}。反之如果需要(前提是传入的是String类型)${string?number}

${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   参考https://blog.csdn.net/qq_32534855/article/details/67631788

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值