Freemarker判斷是否為空


1、判斷對象是否為空

freemarker中顯示某對象使用${name}.

 

但如果name為null,freemarker就會報錯。如果需要判斷對象是否為空:

<#if name??>

……

</#if>

 

當然也可以通過設置默認值${name!''}來避免對象為空的錯誤。如果name為空,就以默認值(“!”后的字符)顯示。

 

對象user,name為user的屬性的情況,user,name都有可能為空,那么可以寫成${(user.name)!''},表示user或者name為null,都顯示為空。判斷為空

<#if (user.name)??>

……

</#if>

2、判斷List是否為空

<#if orgList?? && (orgList?size > 0) > <#else> <li class="T-creat">您還沒有企業,請創建新企業<a href="javascript:void(0)" id="add-org-a" >立即創建</a></li> </#if>

3、判斷Map是否為空

用freemarker取出map值后,判斷該值是否等於某一字符串,可以使用內建函數?string來進行判斷。

實際代碼:Data 是一個Record對象【JFinal的,其實可以理解為一個Map】。Data.get(key)根據map的key取出value對應的值。

 <ConditionData>
  <#list datas as Data>
   <Condition>
    <#list Data.getColumnNames() as key> 
     <${key}>
      <#if Data.get(key)?exists><#if Data.get(key)?string !="null">${Data.get(key)}</#if></#if>
     </${key}> 
    </#list>
   </Condition>
  </#list>
 </ConditionData>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM