0

次のようなドメインクラスがある場合:

class A {
 short aCode
 //...
 static hasMany = [bs : B]
 static mapping = {
   id column: 'a_code' name: 'aCode'
 }
}

class B {
  long bCode
  static belongsTo = [a: A]
  id column: 'b_code' name: 'bCode'
}

そして、コマンドでBクラスを使用してみてください。

class SomeCommand {
  List<B> bs = ListUtils.lazyList( [], FactoryUtils.instantiateFactory(B) )
}

aCodeの入力は次のようになります。

<input type='text' name='bs[0].a.aCode' />

なぜこれはgrailsコントローラーによってバインドされないのですか?command.bs[0].aバインド後もnullのままです。

Grails2.0.3を使用しています

4

2 に答える 2

0

実際には、コマンド オブジェクトとリストとのデータ バインディングは機能しません。これにはJIRAがあります。

于 2012-05-07T15:56:32.937 に答える
0

I have done relations binding with no problem.

I am not sure how this works.

class SomeCommand {
  List<B> bs = ListUtils.lazyList( [], FactoryUtils.instantiateFactory(B) )
}

<input type='text' name='bs[0].a.aCode' />

For, A (Parent) has many B (Children) and B belongs to A.

eg. A has 10Bs (bs[0] ~ bs[9]) I can always use something like this to bind the input.

<input type="text" name="a.aCode" />

<input type="text" name="bs[0].bCode" />
<input type="text" name="bs[1].bCode" />
....
....

Not sure how to bind the data from children (B) to parent (A).

于 2012-05-05T11:29:29.700 に答える