0
我正在開發一個基於webflow的工作流程,並且在初始化操作過程中,我試圖從一個域類中填充一組命令對象,每個命令對象只包含域類中可用字段的一個子集......很多領域你看..如何使用Domain類的屬性子集填充Cmd對象?
我在掙扎的是如何填充每個命令對象的'屬性'只有從域類的匹配屬性。
有沒有人有這方面的經驗,知道如何實現它?
感謝
戴夫
我正在開發一個基於webflow的工作流程,並且在初始化操作過程中,我試圖從一個域類中填充一組命令對象,每個命令對象只包含域類中可用字段的一個子集......很多領域你看..如何使用Domain類的屬性子集填充Cmd對象?
我在掙扎的是如何填充每個命令對象的'屬性'只有從域類的匹配屬性。
有沒有人有這方面的經驗,知道如何實現它?
感謝
戴夫
你可以做到以下幾點:
class Domain {
String lastName
String firstName
int age
}
class Command {
String lastName
int age
}
def domain = new Domain(lastName:'last', firstName:'first', age:33)
def command = new Command()
command.properties.findAll{ !["metaClass","class"].contains(it.key)}.each { k,v ->
command[k] = domain[k]
}
assert 33 == command.age
assert 'last' == command.lastName
該問題的.properties是它包含了 '類' 和 '的metaClass'。把這兩個設定成一個糟糕的主意,所以他們會被過濾掉。
感謝Stefan,那正是我所看到的。 – Dave 2010-11-19 11:56:53
這是基於Grails的,所以我希望找到一個Groovy方法來完成這個問題..不知道,也許人們並不總是接受答案:-) – Dave 2010-11-16 18:37:11