getArtefact 返回 NULL for the "Domain"



我是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)

相关内容

最新更新