Grails 访问域对象的属性时引发空指针异常

Grails 访问域对象的属性时引发空指针异常,grails,Grails,在控制器中,我只测试这两条线。注册域具有属性compositeEvent。因此,我首先访问注册域,然后使用.compositeevent访问CompositeeEvent println (RaceRegistration.get(r.toLong())) println (RaceRegistration.get(r.toLong())).compositeEvent 将引发以下错误。如您所见,第一次打印成功,即它获得注册域,但第二次打印失败。我的问题是,当我们确定RaceRegistrat

在控制器中,我只测试这两条线。注册域具有属性compositeEvent。因此,我首先访问注册域,然后使用.compositeevent访问CompositeeEvent

println (RaceRegistration.get(r.toLong()))
println (RaceRegistration.get(r.toLong())).compositeEvent
将引发以下错误。如您所见,第一次打印成功,即它获得注册域,但第二次打印失败。我的问题是,当我们确定RaceRegistration域被成功访问时,为什么它会抛出空指针

com.runnercard.registration.RaceRegistration : 8
ERROR errors.GrailsExceptionResolver: NullPointerException occurred when processing request: [POST] /roadrace/message/sendEmail - parameters:

谢谢你的帮助。谢谢

Null为Null。不要怀疑这一点:这是真的

“void”
println
表达式的计算结果为null,失败的代码大致相当于以下代码:

x = println (RaceRegistration.get(r.toLong()))
// x is null - so the following results in a NullPointerException
x.compositeEvent
括号很可能只是在错误的位置():

println (RaceRegistration.get(r.toLong()).compositeEvent)
// -or
println RaceRegistration.get(r.toLong()).compositeEvent