http://www.cnblogs.com/xinxin1994/p/6138063.html
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>