java - Play 框架模板中的 Map[Int, String]

标签 java templates playframework-2.0

我正在使用 Play 2.0.4 框架,通过将其放入 Controller 部分,我可以成功创建一个接受 Map[String, String] 模板的模板:

Map<String, String> test = new HashMap<String, String>();
return ok(views.html.template.render(test));

template.scala.html中:

@(map : Map[String, String])

但是,如果我将第一个 String 更改为 Int ( Controller 部分中的整数),则会出现此异常:

 error: method render in class template cannot be applied to given types; 

是否可以在 Play 框架中定义 Integer -> String 映射?如果可以,我该如何实现?

编辑:
当我将 Controller 中的代码更改为:

Map<Integer, String> test = new HashMap<Integer, String>();

并在模板中:

@(map: Map[Int, String])

最佳答案

在您的模板中,您指定 Map的 key 是 scala.Int s,但你给它一个 Mapjava.lang.Integer s 作为键。

解决方案是将模板中的行更改为

@(map: Map[Integer, String])

关于java - Play 框架模板中的 Map[Int, String],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15901587/

相关文章:

junit - "play test"类路径不同于 "sbt test"类路径

java - 如何让 Log4j 每天创建新的日志文件?

java - 什么是 Swing-相当于 HTML <optgroup>

java - 如何将 .jar 文件转换为 Unix 可执行文件? (苹果)

scala - 我如何合并两个 Scala (String, String) for Play!查询字符串?

java - 如何更改 Play Framework 2 "test"设置以显示完整的堆栈跟踪?

java - GAE CloudEndpoints Java session

java - 为什么 Velocity 不显示 <div >'s that should be displayed as "显示 : flex;"correctly?

c++ - 奇怪的编译器错误和模板继承

c++ - 检查指向基类的指针是否是使用可变参数模板派生的指针之一