【发布时间】:2023-04-06 06:31:01
【问题描述】:
我有一个来自 com.google.common.collect.Multimap 的 Multimap 对象。 如何在我的 Play scala 模板中遍历这个 Multimap?
@if(!googleMultimapObject.isEmpty()){
为了……
}
谢谢。
【问题讨论】:
标签: scala templates playframework-2.0 multimap
我有一个来自 com.google.common.collect.Multimap 的 Multimap 对象。 如何在我的 Play scala 模板中遍历这个 Multimap?
@if(!googleMultimapObject.isEmpty()){
为了……
}
谢谢。
【问题讨论】:
标签: scala templates playframework-2.0 multimap
首先在模板顶部导入 JavaConverters(即第二行,而不是签名)
@import scala.collection.JavaConverters._
这将为您的 java 集合提供 asScala 方法。通过隐式。
现在你可以这样做了:
@for(entry <- googleMultimapObject.entries.asScala) {
<p>@entry.getKey()</p>
<p>@entry.getValue()</p>
}
或者,要列出每个键的值,您可以这样做:
@for((key, values) <- googleMultimapObject.asMap.asScala) {
<p>key: @key</p>
<p>
@for (value <- values.asScala) {
<span>@value</span>
}
</p>
}
这里有一个快捷方式来解包键和值:.asMap.asScala 给了我们一个 scala 映射。当你迭代一个 scala 映射时,你会得到 (KeyType, ValueType) 的元组。上面的语法将元组解包成(key, values)
【讨论】: