1.has_content 判断里面有没有值
<#if orderSeq?has_content>
$("#orderSeq").val("${orderSeq}");
</#if>
2.Freemarker中的比较运算符
由于freemaker直接用大于等于会报错,原因是Freemarker内部的问题,内部机制会以 < 开头的相关代码进行解析,所以会出现异常所以需要用一些关键字去代替逻辑判断符号,freemarker 也提供了这样的关键字
=(==) :判断两个值是否相等
!= :............不相等
>(gt) :判断左边是否大于右边
>=(gte) :.....
<(lt) :.....
<=(lte) :.....
freemarker里面不能包含>< 所以要用到大于和小于,就要用gt,lt gt是大于,lt是小于
代码如下:
<#if content?length gt 100>
${content[0..100]}...
<#else>
${content}
</#if>
<#if (ts.refundAmount?default("0")?number gt 0)>
已部分退款
<#elseif ts.refundAmount?default("0")?number lte 0>
全额退款
</#if>
3.freemarker判断对象是否为空
freemarker中显示某对象使用${name},但如果name为null,freemarker就会报错。
如果需要判断对象是否为空:
<#if name??>
……
</#if>
当然也可以通过设置默认值${name!’’}来避免对象为空的错误。如果name为空,就以默认值(“!”后的字符)显示。
对象user,name为user的属性的情况,user,name都有可能为空,那么可以写成${(user.name)!’’},表示user或者name为null,都显示为空。判断为空
<#if (user.name)??>
……
</#if>
如判断user是否为空和user.name是否为’dzq’,则:
<#if user??&&user.name='dzq'>
//不为空操作
<#else>
//为空操作
</#if>