将CRUD插件从Play 1.2.4迁移到2.5.x:查看编译错误

时间:2017-01-24 11:08:46

标签: crud playframework-2.5 scala-template

我是Playframework的新手,我需要将Play-1.2.4的CRUD插件迁移到Play-2.5.x上的模块。我对这些观点面临一些奇怪的问题。例如,form.scala.html组件具有以下错误:

  • app \ views \ tags \ crud \ form.scala.html:28:not found:type fieldName
  • app \ views \ tags \ crud \ form.scala.html:28:Array [String]类型的变量fieldsHandler不接受类型参数。
  • app \ views \ tags \ crud \ form.scala.html:31:not found:value field

以下是表单文件的一段代码:

@(fields: List[String], obj: Object, typ: controllers.CRUD.ObjectType)(body: Html)
@import scala.Predef;  var currentObject: Object = null; var currentType: controllers.CRUD.ObjectType = null; var fieldsHandler = new Array[String](10);

@for(fieldName <- fields) {
        var am : String = "";
        var field = @currentType.getField(fieldName);
        @if(field == null){
                throw new play.exceptions.TagInternalException("Field not found -> " + @fieldName)
            }
            @if(field.typ == "text") {
                @tags.crud.textField(fieldName, currentObject[fieldName])
            }
            @if(field.typ == "password") {
                @tags.crud.passwordField(fieldName, currentObject[fieldName])
            }
            @if(field.typ == "binary"){
                @tags.crud.fileField(fieldName, currentObject[fieldName], currentObject.id )
            }
    }

- &GT; 80%的编译错误与变量识别有关!

build.sbt文件中的一段:

scalaVersion := "2.11.7"
lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean, SbtTwirl)
fork in run := true

有什么想法吗?我们将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

我明白crud插件的原理与编译scala模板的新逻辑相矛盾。所以我开始了一个新的通用实现crud。 谢谢