FreeMarker对null值的处理

!对输出的空值做处理,只输出无返回值

输出name的值:${name}。如果name为null,就会报错。

输出name的值:${name!}。如果name为null,就不会报错,什么也没输出。(重点)

输出name的值:${name!"默认值"}。如果name为null,就输出”默认值”字符串。(重点)

输出name的值:${name!100}。如果name为null,就输出100。

输出user.name的值:${(user.name)!"默认值”},如果user或name为null,就输出默认值。(重点)

输出user.name的值:${user.name!"默认值”},如果user为null会报错,如果name为null,就输出默认值。

使用default内建函数来处理:${user.name?default('vakin')}  (较繁琐)

 


??测试是否为null,返回boolean值 


product.color??将只测试color是否为null


(product.color)??将测试product和color是否存在null 


 

freemarker中??和?的区别

??是判断对象是否为空,例如:<#if object??>object对象不为空(即object存在)</#if>

?后面要加内建函数名,例如:<#if object?exists>object对象不为空(即object存在)</#if>

<#if str??>${str?string}</#if><#--将str以字符串形式显示-->

 

freemarker的内建函数

${nowDate?time}<#--将现有时间以时间的格式显示,显示结果如:15:13:05-->

${nowDate?date}<#--以日期格式显示,如:2011-4-28-->(date的格式可以在freemarker.properties文件中配置)

日期格式化 ${time?string("yyyy-MM-dd")}

截取字符串 ${str?substring(0,2)}

indexof的使用 ${str?last_index_of(",")}

split的使用

<#list "12,13,14,15"?split(",") as item>

${item}

</#list>

 

${s?if_exists}

${item_index?if_exists+1}

${user.name?default('vakin')},同上 

 

freemarker运算符

<#if score gte 60>

 及格

<#elseif score gte 80 && score lte 90>

良好

<#else>

高材生

</#if>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值