0

モデルでパラメーターを取得する方法 (Grails) ? params.モデルには存在しません。

4

3 に答える 3

4

「モデル」がドメイン モデル クラスを意味する場合、それらにはパラメーターがなく、単なる POJO です。私の知る限り、パラメータはコントローラにのみ適用されます。

于 2013-02-20T14:18:30.313 に答える
0

私が理解しているように、リクエストからドメインを埋めるための特別な方法があります。この場合、次のように、すべてのパラメーター (マップ) をそのようなメソッドに渡すことができます。

def MyDomain {

  static MyDomain buildFromParams(def params) {
     return new MyDomain(
         field1: params.field_1, //assuming that your params have different naming scheme so you can't use standard way suggested by Raphael
         field2: params.field_2
     )
  }

}

class MyController {

  def myAction() {
     MyDomain foo = MyDomain.buildFromParams(params)
  }

}
于 2013-02-20T14:42:16.833 に答える
0

パラメータ名が適切にフォーマットされていて、ドメイン属性と一致している場合は、次のことができます。

仮定

params = [name:"some name", age: "194", civilState: "MARRIED"]

class Person{
   String name
   Integer age
   CivilStatus civilState //some enum
}

コントローラーで次のように groovy のプロパティ バインディング コンストラクターを利用できます。

class Controller {
   def saveAction = {
       new Person(params)
   }
}
于 2013-02-20T14:57:29.827 に答える