通过String名称获取域类属性值

时间:2012-03-15 19:37:56

标签: grails groovy dns

可能是个基本问题.. 我在做

MyDomain.dirtyPropertyNames.each {
aInstance.oldVal = newDomainObject.getPersistentValue(it)
aInstance.newVal = ? // how to get the property value here from the list obviously MyDomain.it doesnt work..
aInstance.save()
}

dirtyPropertyNames是属性名称字符串列表,如何获取列表中每个属性的Domain.property?

由于

2 个答案:

答案 0 :(得分:4)

确实

myDomain."$it"

做你想做的事吗?

答案 1 :(得分:2)

我更喜欢以下表格,通过名称进行财产访问。

myDomain[it]

例如,如果您的属性名称为“lockedFlag”,则以下情况属实。

assert myDomain.lockedFlag == myDomain["lockedFlag"]
assert myDomain.lockedFlag == myDomain."lockedFlag"

我希望这会有所帮助。