用freemarker取出map值後,判斷該值是否等於某一字符串,可使用內建函數?string來進行判斷。html
實際代碼:Data 是一個Record對象【JFinal的,其實能夠理解爲一個Map】。Data.get(key)根據map的key取出value對應的值。java
<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>web
內建函數?string其餘參考:http://www.blogjava.net/libin2722/articles/229263.html。片斷以下函數
插入字符串值:直接輸出表達式結果spa
插入數字值:根據缺省格式(由#setting指令設置)將表達式結果轉換成文本輸出;可使用內建函數string格式化單個Interpolation,下面是一個例子:.net
<#setting number_format="currency"/> <#assign answer=42/> ${answer} ${answer?string} <#-- the same as ${answer} --> ${answer?string.number} ${answer?string.currency} ${answer?string.percent}
輸出結果是:code
$42.00 $42.00 42 $42.00 4,200%
插入日期值:根據缺省格式(由#setting指令設置)將表達式結果轉換成文本輸出;可使用內建函數string格式化單個Interpolation,下面是一個使用格式模式的例子:orm
${lastUpdated?string("yyyy-MM-dd HH:mm:ss zzzz")} ${lastUpdated?string("EEE, MMM d, ''yy")} ${lastUpdated?string("EEEE, MMMM dd, yyyy, hh:mm:ss a '('zzz')'")}
輸出的結果相似下面的格式:htm
2003-04-08 21:24:44 Pacific Daylight Time Tue, Apr 8, '03 Tuesday, April 08, 2003, 09:24:44 PM (PDT)