Java FreeMarker访问每个键的不同多重映射值

Java FreeMarker访问每个键的不同多重映射值,java,freemarker,Java,Freemarker,我想在Freemarker模板和Access中循环多重映射显示键及其不同的值,在本例中,它们是对象: 这里TaskType是一个字符串,请不要误解 multiMap.put(TaskType.DHOLDING_TASK,Obj1); multiMap.put(TaskType.BTRADE_TASK,Obj2); multiMap.put(TaskType.ANONE,Obj3); multiMap.put(TaskType.DHOLDING_TASK,Obj4);

我想在Freemarker模板和Access中循环多重映射显示键及其不同的值,在本例中,它们是对象:

这里TaskType是一个字符串,请不要误解

 multiMap.put(TaskType.DHOLDING_TASK,Obj1);
    multiMap.put(TaskType.BTRADE_TASK,Obj2);
    multiMap.put(TaskType.ANONE,Obj3);
    multiMap.put(TaskType.DHOLDING_TASK,Obj4);
    multiMap.put(TaskType.CPRICE_TASK,Obj5);
    multiMap.put(TaskType.BTRADE_TASK,Obj6);
    multiMap.put(TaskType.ANONE,Obj7);
    multiMap.put(TaskType.CPRICE_TASK,Obj8);
输出将如下所示:

{CPRICE_TASK=[Obj5, Obj8], ANONE=[Obj3, Obj7], BTRADE_TASK=[Obj2, Obj6], DHOLDING_TASK=[Obj1, Obj4]}
我的自由标记代码:

<#assign taskKeys = multiMap?keys >
    <#list taskKeys as key>
        ${key} --It works fine till here :-)
    `taskList[key]   or taskList[key_values]---XXX both gives exception 
如何在列表中显示与键关联的多值

我需要访问该对的值部分,即。RHS:CPRICE_任务=[Obj5,Obj8]


非常感谢您的帮助:

感谢ddekany的回复 但是,我可以找到答案,这是freemarker代码中的错误。我在键上迭代

<#list taskList?keys as taskType>
这很好。在那之后,我应该迭代与键相关的列表,即多个值,因为它是一个google multimap。例如:

<#assign values = taskList?values>
  <#list values[taskType_index] as task>
我想我在访问键的值时,代码中缺少了assign标记。
希望这会对某些人有所帮助。

这个例外说明了什么?我猜这个值是一个序列,不能自动转换成字符串。然后,您想执行任务列表[键]?加入','或列出它。