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:null

这是SurveyQuestion课程:

class SurveyQuestion {

    String question

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

    static constraints = {
    }
}

以上似乎可以编译,但是当我在操作结束时进行重定向时,我得到了更多的类转换异常,我相信这是由于实例化和设置 that SurveyQuestion,好像我注释掉上面我没有得到这种失败行为。

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

谢谢

4

1 回答 1

4

域实例上的默认toString()方法将返回一个类似于class.name: id. 由于您新创建的域实例没有id设置显示null

尝试toString()在您的SurveyQuestion域中覆盖:

String toString() {
    return question
}
于 2012-07-29T00:45:44.317 回答