2012-07-28 20 views
0

我試圖實例化一個對象,並設置一個單一的屬性,它來自一個請求參數,就像這樣:實例化類,但它似乎參照空

println "Question text from the request :" + params.question 

def question = new SurveyQuestion() 
question.question = params.question 

println "this is our question" + question 

這是我的輸出在控制檯:從請求

問題文本:測試這是我們 questionroosearch.SurveyQuestion:空

這個我S中SurveyQuestion類:

class SurveyQuestion { 

    String question 

    static hasMany = [responses : SurveyQuestionResponse] 
    static belongsTo = [survey: Survey] 

    static constraints = { 
    } 
} 

上面看起來編譯正常,但是我得到進一步classcast例外,當我在我的結束動作做一個重定向,我相信這是由於SurveyQuestion的實例化和設置,就好像我註釋掉上述我沒有得到這種失敗行爲。

我正在實例化SurveyQuestion對象嗎?爲什麼打印到控制檯時顯示爲空?這是正常的行爲嗎?至少我希望它能像Java那樣打印對象引用?

感謝

+0

您還可以保存這個問題沒有調查父被設置有問題。 – billjamesdev 2012-07-29 05:31:07

回答

4

默認toString()方法上的域實例將返回一個字符串,它看起來像class.name: id。由於您新創建的域實例沒有id,因此設置爲顯示null

嘗試在SurveyQuestion域覆蓋toString()

String toString() { 
    return question 
}