【发布时间】:2014-04-12 07:36:40
【问题描述】:
我运行 Play Framework 2.2.1。我以前只有 java 控制器渲染模板。现在我添加了一个 Scala 控制器来呈现一个新的模板 indexScala.scala.html。 indexScala.scala.html的参数列表:
@()(implicit request: play.api.mvc.RequestHeader)
它会调用
@mainEmptyScala("blah", head) {}
mainEmptyScala.scala.html 的参数列表:
@(title: String, head: Html = Html(""))(body: Html)(implicit request: play.api.mvc.RequestHeader)
当我调用 indexScala 模板时,我还将 request 声明为隐含在 Scala 控制器中。但是,我得到了这个编译错误。
[error] ~/myapp/app/views/indexScala.scala.html:29: ambiguous implicit values:
[error] both method requestHeader in object PlayMagicForJava of type => play.api.mvc.RequestHeader
[error] and value request of type play.api.mvc.RequestHeader
[error] match expected type play.api.mvc.RequestHeader
[error] @mainEmptyScala("blah", head) {
[error] ^
我确保 indexScala 和 mainEmptyScala 模板不会被任何 Java 控制器调用,因此不应使用 PlayMagicForJava。有谁知道如何解决这个编译错误?谢谢。
【问题讨论】:
-
你解决了这个问题吗?我的项目也有同样的情况。
-
不,我使用了一种解决方法。我明确地传递了 RequestHeader。
标签: java scala playframework playframework-2.0