項目要用到一個方法大概是在freemarker中判斷一個類型為Map<String, Map<String, Integer>>的集合中是否包含某個鍵值。
之前一直在freemarker中查找是否有類似於containsKey的函數,未果,得知有seq_contanis函數,但是它多用於在數組和序列中判斷,而非字典
后來在谷歌得知??符號就可以來判斷是否存在
后經過整理寫的代碼如圖所示:
<tbody id="dataBody"> <#--循環Map--> <#if map??> <#list map?keys as key> <tr> <th>${key!}</th> <#--循環日期數組--> <#if date??> <#list date as item> <#--如果Map的key包含日期--> <#if map[key][item?string("yyyy-MM-dd")]??> <td>${map[key][item?string("yyyy-MM-dd")]!}</td> <#else> <td>0</td> </#if> </#list> </#if> </tr> </#list> </#if> </tbody>