FreeMarker遍历Map 遍历出一堆Map方法
遍历Map其实很简单
但是当我们在网络上去寻找这个答案的时候,很多答案是这样的
<#list categorylist?keys as key> <option value="${key}" selected="selected">${categorylist[key]}</option> </#list>
然而,很遗憾,这样的代码是不正确的
除非你再加上一个这样的条件判断
<#if key=="" || categorylist[key]=="" || 'class' == key>
否则最后列出的下拉框中有很多Map的方法为key的下拉框,如put get remove等
但是这样又有一个问题,这样判断空是不正确的
我们应该 key?? 这样判断空
这样判断空,又会出现问题,总之,从一开始我们就写错了
正确的FreeMarker遍历Map的方法应该是使用 map.entrySet,即如下代码
<#list categorylist.keySet() as key> <option value="${key}">${categorylist[key]}</option> </#list>
这样,我们就正确的在FreeMarker中遍历出了Map
至于使用下面的代码遍历,大概就是FreeMarker的一个BUG吧
<#list categorylist?keys as key> <option value="${key}" selected="selected">${categorylist[key]}</option> </#list>
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情