2012-11-01 22 views
2

您好,我對grails仍然很陌​​生,我一直無法弄清楚爲什麼會發生這種情況。無法在Grails中創建新的域對象

我有一個域類:

package scheduler 

class Client { 
    String name 

    static constraints = {} 
} 

和控制器:

package scheduler 
class AdminController { 
    def create() { 
    def client = new Client(name:"John") 
    println client 
    } 
} 

目前,我總是得到空的客戶端。最初上面的域在類方面稍微複雜一點,但我有系統地將它弄糟,看看它是否是一個問題。我仍然無法完成上述工作。

輸出始終 scheduler.Client:空

請讓我知道如果我需要再提供信息。

回答

4

它不爲空,這只是Grails添加的toString方法的默認輸出。它打印類名和id。由於您尚未保存該實例,因此該ID爲空。如果實例爲null輸出會一直null,不scheduler.Client : null

如果你想看到的實例中的數據,使用Groovy的dump()方法,例如

def client = new Client(name:"John") 
println client.dump() 

你可以還添加toString方法,該方法包括name屬性,例如

package scheduler 

class Client { 
    String name 

    String toString() { name } 
} 
+1

非常感謝您的幫助。我更習慣於導軌,無法找到解釋爲什麼輸出是這樣的。 –