项目要用到一个方法大概是在freemarker中判断一个类型为Map<String, Map<String, Integer>>的集合中是否包含某个键值。
之前一直在freemarker中查找是否有类似于containsKey的函数,未果,得知有seq_contanis函数,但是它多用于在数组和序列中判断,而非字典
后来在谷歌得知??符号就可以来判断是否存在
后经过整理写的代码如图所示:
<#--循环Map--> <#if map??> <#list map?keys as key> ${key!} <#--循环日期数组--> <#if date??> <#list date as item> <#--如果Map的key包含日期--> <#if map[key][item?string("yyyy-MM-dd")]??> ${map[key][item?string("yyyy-MM-dd")]!} <#else> 0