嵌套列表我想要遍历嵌套在地图列表,数据结构是这样的:Freemarker的:迭代哈希
Map<Integer, List<Integer>> groups = new TreeMap<>()
// Some code else to put values into groups ...
Freemarker模板:
<#list groups?keys as groupKey>
${groupKey} // It's OK here.
<#list groups[groupKey] as item> // Exception threw here, detail message is pasted below
${item}
</#list>
</#list>
详细异常消息:
FreeMarker template error: For "...[...]" left-hand operand: Expected a sequence or string or something automatically convertible to string (number, date or boolean), but this evaluated to an extended_hash (wrapper: f.t.SimpleHash): ==> groups
那么,这是什么问题?
P.S.
我已经试过groups.get(groupKey)
而不是groups[groupKey]
,它抛出一个新的异常堆栈:
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
java.lang.String.compareTo(String.java:108)
java.util.TreeMap.getEntry(TreeMap.java:346)
java.util.TreeMap.get(TreeMap.java:273)
freemarker.template.SimpleHash.get(SimpleHash.java:160)
freemarker.core.Dot._eval(Dot.java:40)
freemarker.core.Expression.eval(Expression.java:76)
是的,你说得对,我把'groupKey'的类型从'Integer'改成了'String',并且工作。 – 2014-12-05 06:44:18
那么解决方案是什么?我有同样的问题,无法赶上你的解决方案。 – 2016-05-06 20:15:48
@Mohy:你什么意思? '?api'由于某种原因不起作用? – ddekany 2016-05-06 21:00:00