官方文档中的遍历map方式不能遍历key为non-string类型的map。
So TM Fuck egg!!JavaEye已经有人抱怨过了~!
错误的遍历
原本天真的以为这么写就行了,但是发现navData[key]并不能取到List<>,因为${item?size}在页面中输出的值为0
<#if navData?exists>
<#list navData?keys as key>
<#assign item = navData[key]!>
${item?size} //==>输出:0
key:${key.cate_name}
<#list item as itemValue>
${itemValue.title}
</#list>
</#list>
</#if>
正确的遍历
步骤一:
<!--更改spring-mvc中freemarkder配置-->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/view/"/>
<property name="freemarkerSettings">
<props>
<!--FBI WARNING!!! 加入这个-->
<prop key="object_wrapper">freemarker.ext.beans.BeansWrapper</prop>
</props>
</property>
</bean>
步骤二:
<#if navData?exists>
<#list navData.keySet() as key>
<#assign item = navData.get(key)>
keyObj:${key.cate_name}
<#list item as itemValue>
valueObjInList:${itemValue.title}
</#list>
</#list>
</#if>