我试图将字符串列表从我的Java控制器传递到scala模板。 这是视图代码:
public static Result index() { List<String> scripts = Arrays.asList( "script1.js", ... "scriptN.js" ); return ok(views.html.index.render(scripts)); }
这是临时代码:
@(scripts: List[String]) @main("test page")(scripts) { ... html here ... }
我遇到的错误(在Typesafe Activation Compile页面中):
类索引中的render方法不能应用于给定的类型; 必需:scala.collection.immutable.List 找到:java.util.List 原因:实际参数java.util.List无法通过方法调用转换转换为scala.collection.immutable.List
有没有解决方法,而无需使用Java> Scala转换? 我发现了这个问题:Play不会将java-list转换为scala- list,它描述了类似的情况,尽管我没有任何我知道的templateImports导入,但什至看不到Build.scala文件。 。
有任何想法吗?谢谢!
请尝试以下方法:
import scala.collection.JavaConverters; public static Result index() { List<String> scripts = Arrays.asList( "script1.js", ... "scriptN.js" ); scala.collection.immutable.List<String> ls = JavaConverters.asScalaBufferConverter(scripts).asScala().toList(); return ok(views.html.index.render(ls)); }