Grails命令绑定 - 具有关系的域类 - 它可能吗?

时间:2012-04-26 21:27:38

标签: java data-binding grails

如果我有域类:

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保持为空。

我正在使用Grails 2.0.3

2 个答案:

答案 0 :(得分:0)

我已经完成了没有问题的关系绑定。

我不确定这是如何运作的。

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

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

因为,A(父母)有很多B(孩子),B属于A.

例如。 A有10Bs(bs [0] ~bs [9]) 我总是可以使用这样的东西绑定输入。

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

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

不确定如何将子项(B)中的数据绑定到父项(A)。

答案 1 :(得分:0)

实际上,与命令对象和列表绑定的数据不起作用。这有一个JIRA