在实际项目中,map需要存储的内容往往比较复杂。
在freemarker这样使用:
因为A和B的key是一样的,所以只用一次循环就实现了A和B的关联访问,个人感觉比较好用。
比如在java中声明的map是这样的 :
Map<Object, Object> myMap
freemarker中使用起来问题就大了,因为freemarker只能用String作为map的key。
搜索了一下前人的解决办法,感觉都不理想,于是自己想了一个办法。
就是使用双map,例如项目的需求是 :
Map<A, B>
其中A为单个对象,B为对象集合,那么现在就可以把这个map拆分为:
Map<A.id, A>
Map<A.id, B>
<#list A?keys as key>
${A[key]}
${B[key]}
</#list>
因为A和B的key是一样的,所以只用一次循环就实现了A和B的关联访问,个人感觉比较好用。