将我的Play Framework从2.3.6升级到2.4.8时,我收到此请求第一页的运行时错误。
type mismatch;
found : play.api.data.Form[controllers.Account.PasswordData]
required: play.data.Form[controllers.Account.PasswordData]
与我的控制器中的这一行相关:
import play.api.data._
...
Ok(html.account.changePassword(passwordForm, "Change password", user))
我认为这一行(password.scala.html):
@(passwordForm: Form[controllers.Account.PasswordData], title: String, user: User)(implicit flash: play.api.mvc.Flash)
现在看来Play导入时使用play.data.Form只是在视图中使用术语Form。
解决此问题的最佳方法是什么?我应该将play.api.data.Form硬编码到视图中吗?或者将Account.scala中的Form对象更改为play.data.Form?
play.api.data.Form和play.data.Form有什么区别?
谢谢!
答案 0 :(得分:0)
解决了它。我不小心配置了使用Java API的游戏。在Java API中,Form类是play.data.Form,但在Scala API中它是play.api.data.Form。
这是在这行的build.sbt配置中完成的:
lazy val root = (project in file(".")).enablePlugins(PlayScala, PlayEbean)