freemarker(ftl文件)中判断Map>类型中是否包含某个键值(key)


项目要用到一个方法大概是在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>

 

 





免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM