Java FreeMarker访问每个键的不同多重映射值
我想在Freemarker模板和Access中循环多重映射显示键及其不同的值,在本例中,它们是对象: 这里TaskType是一个字符串,请不要误解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);
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标记。
希望这会对某些人有所帮助。这个例外说明了什么?我猜这个值是一个序列,不能自动转换成字符串。然后,您想执行任务列表[键]?加入','或列出它。