How*_*wes 1 grails grails-domain-class
我想要做的是找到一个域,然后创建一个域或保存预先存在的域.这是我目前正在使用的代码(在此项目中,skeleton是包名称):
def save() {
Class lob = grailsApplication.getDomainClass('skeleton.'+params.lob.name)
def instance = lob.get(params.lob.id)
if (instance){
params.data.each { name, value ->
if (instance.metaClass.hasProperty(name)){
instance[name] = value
}
}
}else{
instance = new lob()
params.data.each { name, value ->
if (instance.metaClass.hasProperty(name)){
instance[name] = value
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用.任何人都可以帮我解决这个问题吗?
返回的对象getDomainClass
是.的实例GrailsDomainClass
.要获得可以调用的实际域类get
,请先调用getClazz
它.例如:
Class lob = grailsApplication.getDomainClass('skeleton.'+params.lob.name).clazz
Run Code Online (Sandbox Code Playgroud)
此外,您必须调用newInstance
类对象而不是使用new
关键字来创建新实例.
归档时间: |
|
查看次数: |
360 次 |
最近记录: |