1

play 不会将我的 java 表单对象转换为 scala 世界。

    [error] /home/myproject/split/frontend/app/controllers/frontend/Configuration.java:46: error: method render in class settings cannot be applied to given types;
    [error]             return ok(settings.render(settingsForm.fill(userSettings)));
    [error]                               ^
    [error]   required: play.api.data.Form<Settings>
    [error]   found: play.data.Form<Settings>
    [error]   reason: actual argument play.data.Form<Settings> cannot be converted to play.api.data.Form<Settings> by method invocation conversion

视图模板如下所示:

@(settingsForm: Form[Settings])

@import play.i18n._
@import helper._
@import helper.twitterBootstrap._

@main {

    @helper.form(action = controllers.frontend.routes.Configuration.setSettings) {

任何想法?

我还应该提到我们使用项目拆分main->frontend->commonmain->backend->common. 我们将此页面(视图和控制器)从common. frontend它运行common良好。现在frontend我得到这个错误。

我实际上有一个类似的问题,java.util.List我不得不添加templatesImport ++= Seq("java.util._", ...到设置中:

  val frontend = play.Project(
      appName + "-frontend", appVersion, path = file("main/frontend")
  ).settings(
      templatesImport ++= Seq("java.util._", "models.frontend._")
  ).dependsOn(common).aggregate(common)

我已经试过了play.data._,没有帮助。

4

1 回答 1

1

您的前端项目是 Scala 项目,而不是 Java 项目。添加对 javaCore 的依赖,它将是一个 Java 项目。然后做一个干净的编译,一切都应该工作。例如:

val frontend = play.Project(
  appName + "-frontend", appVersion, Seq(javaCore), path = file("main/frontend")
).settings(
  templatesImport ++= Seq("java.util._", "models.frontend._")
).dependsOn(common).aggregate(common)
于 2013-05-15T00:09:20.763 回答