【问题标题】:Using Forms after migrating from playframework 2.0 to 2.1 RC2 (java)从 playframework 2.0 迁移到 2.1 RC2 (java) 后使用 Forms
【发布时间】:2013-01-21 13:06:41
【问题描述】:

我已经更新了我的控制器以使用 play.data.Form.form() 方法而不是 Controller.form()。当我尝试运行我的应用程序时,我收到如下错误:

错误:类 create_user 中的方法渲染不能应用于给定类型;

return ok(create_user.render("", Form.form(CreateUserInfo.class), creator.get())); 

必需:字符串、play.api.data.Form、用户 找到:字符串、play.data.Form、用户

看起来我的模板希望获得 play.api.data.Form 而不是 play.data.Form。是否应该进行任何隐式转换,或者我应该更新我的模板以使用 play.data.Form?

如果我在我的模板中使用 play.data.Form,我会错过 play.api.data.Form 的一些功能,例如通过 apply 方法请求参数的能力(例如:createUserForm("用户名"))

【问题讨论】:

  • 我刚刚检查了 Play 2.1 RC2 的 API 文档,但找不到 play.data.Form 类。我想我记得有些包被移到了play.api.*,但我不记得在哪里,我现在也找不到了。如果您在使用过play.data.Form 的任何地方都使用play.api.data.Form,会发生什么?
  • 目前 API 文档似乎缺少某些部分,play.data.Form 是 2.1 的一部分(我已经检查了源代码)。

标签: migration playframework-2.0 playframework-2.1


【解决方案1】:

Guillaume Bort 在playframework google group 提供了解决方案。

更新 Build.scala 后,我忘记将 javaCore 添加为我的应用程序的依赖项。您必须在 2.1 中显式添加 javaCore 作为依赖项。

val appDependencies = Seq(
      javaCore
)

记得开始使用 play.Project 而不是 PlayProject:

val main = play.Project(appName, appVersion, appDependencies).settings(
      // Add your own project settings here
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-12
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多