Привязка данных Grails - PullRequest
       15

Привязка данных Grails

3 голосов
/ 07 сентября 2011

Я пытаюсь использовать DataBindingUtils.bindObjectToInstance (объект, источник) для копирования свойств из одного объекта в другой, используя этот код (который можно запустить в консоли Grails):

import org.codehaus.groovy.grails.web.binding.DataBindingUtils

class Source {

  String foo = 'foo'
  String bar = 'bar'
}

class Target {

  String foo
  String bar
}

def s = new Source()
def t = new Target()

def result = DataBindingUtils.bindObjectToInstance(t, s)

assert t.foo == 'foo'
assert t.bar == 'bar'

Но утверждения ошибочны, потому что свойства t равны нулю, почему?

1 Ответ

3 голосов
/ 07 сентября 2011

В связывателе данных (ниже) в Grails реализована привязка только для выбранного подмножества типов объектов, а именно для карт и веб-запросов. Таким образом, связывание двух произвольных объектов не реализовано.

https://github.com/grails/grails-core/blob/master/grails-web/src/main/groovy/org/codehaus/groovy/grails/web/binding/DataBindingUtils.java

...