关于freemarker中map的key只能是String的解决办法。

来源:互联网 发布:yum repolist卡死 编辑:程序博客网 时间:2024/05/22 02:26
在实际项目中,map需要存储的内容往往比较复杂。

比如在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>

在freemarker这样使用:

<#list A?keys as key>    ${A[key]}    ${B[key]}</#list>

因为A和B的key是一样的,所以只用一次循环就实现了A和B的关联访问,个人感觉比较好用。

0 0
原创粉丝点击