我是Grails的新手,试图按照"Beginning Groovy and Grails"中的示例来学习
当我尝试这些例子时,我遇到了以下问题:
domainClass = grailsApplication.getArtefact("Domain", domainClassName)
domainClass返回NULL。但是当我使用下面的代码片段时,我得到了正确的Class。
if (!domainClass) {
def artefacts = grailsApplication.getArtefacts("Domain")
domainClass = artefacts.find {item ->
item.name == domainClassName
}
}
第一部分有什么问题?还有什么我需要处理的吗?我下载了这本书的示例代码,我没有看到任何其他具体的变化。
提前感谢!!
使用域类的完整路径,即在包前加上前缀。
第一个代码片段也可以工作,domainClassName只需要是完全限定名,即packagename.domainclassname
def domainClassName = 'org.abc.Sample'
def domainClazz = grailsApplication.getArtefact('Domain', domainClassName)