Freemarker模板判断比较

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>

你可能感兴趣的:(java,freemarker)