实例化一个类,但它似乎引用了null

时间:2012-07-28 23:12:46

标签: grails groovy grails-2.0 groovy-2

我正在尝试实例化一个对象并在其上设置一个属性,它来自一个请求参数,如下所示:

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

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

println "this is our question" + question

这是我在控制台中的输出:

  

请求中的问题文本:测试这是我们的   questionroosearch.SurveyQuestion:null

这是SurveyQuestion类:

class SurveyQuestion {

    String question

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

    static constraints = {
    }
}

以上似乎编译好了,但是当我在动作结束时进行重定向时,我得到了进一步的类广播异常,我相信这是由于SurveyQuestion的实例化和设置,好像我发表评论出于上述情况,我没有得到这种失败的行为。

我是否正确实例化SurveyQuestion对象?当我将它打印到控制台时,为什么它显示为null?这是正常的行为吗?至少我希望它能像Java那样打印对象引用吗?

由于

1 个答案:

答案 0 :(得分:4)

域实例上的默认toString()方法将返回一个类似class.name: id的字符串。由于您新创建的域实例没有id,因此设置为null

尝试覆盖toString()域中的SurveyQuestion

String toString() {
    return question
}