我是Grails的新手,并试图按照“Beginning Groovy and Grails”中的示例进行操作
当我尝试这些例子时,我遇到了以下问题:
domainClass = grailsApplication.getArtefact("Domain", domainClassName)
domainClass返回NULL。但是当我使用下面的代码片段时,我得到了正确的类。
if (!domainClass) {
def artefacts = grailsApplication.getArtefacts("Domain")
domainClass = artefacts.find {item ->
item.name == domainClassName
}
}
第一部分有什么问题?还有什么我需要照顾的。我下载了本书的示例代码,但我没有看到任何其他具体的更改。
先谢谢!!
答案 0 :(得分:0)
使用域类的完整路径,即包的前缀。
答案 1 :(得分:0)
第一个代码片段也有效,domainClassName只需要是完全限定名,即packagename.domainclassname
def domainClassName = 'org.abc.Sample'
def domainClazz = grailsApplication.getArtefact('Domain', domainClassName)