Java 游戏框架模板中的映射[Int,String]

Java 游戏框架模板中的映射[Int,String],java,templates,playframework-2.0,Java,Templates,Playframework 2.0,我正在使用Play 2.0.4框架,我可以成功创建一个接受Map[String,String]模板的模板,方法是将此模板放入控制器部分: Map<String, String> test = new HashMap<String, String>(); return ok(views.html.template.render(test)); 但是,如果我将第一个字符串更改为Int(控制器部分中的整数),则会出现以下异常: error: method render in

我正在使用Play 2.0.4框架,我可以成功创建一个接受
Map[String,String]
模板的模板,方法是将此模板放入控制器部分:

Map<String, String> test = new HashMap<String, String>();
return ok(views.html.template.render(test));
但是,如果我将第一个
字符串
更改为
Int
(控制器部分中的整数),则会出现以下异常:

 error: method render in class template cannot be applied to given types; 
可以在Play框架中定义整数->字符串映射吗?如果可以,我如何实现它

编辑:
当我将控制器中的代码更改为:

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

对于您的代码,生成的
render
方法接受
Map
。然后,你可以提供这样一张地图


有从Java到Scala(以及从Scala到Java)的自动转换帮助程序。我不知道如果这种情况允许您在
render
方法中使用
Map

在模板中,您指定
Map
的键是
scala.Int
s,但您给它一个
Map
,并将
java.lang.Integer
作为键

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

@(map: Map[Integer, String])

您的意思是将其更改为整数吗?或者您是否定义了自己的
Int
类?显示它在您的更改后的外观。@maba,更新了我的post@AramKocharyan,我将其更改为整数,请参见我的编辑以获得澄清异常是否说明了更多内容?这可能是因为模板需要
scala.Int
s,但是您给它
java.lang.Integer
s。或者关于Scala和Java的repsective
Map
类型。例外情况可能会告诉您这一点。无论如何,如果将模板签名更改为
Map[Integer,String]
,会发生什么?
@(map: Map[Int, String])
@(map: Map[Integer, String])