2

嗨,我对 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 : null

如果我需要提供更多信息,请告诉我。

4

1 回答 1

4

它不是 null,这只是toStringGrails 添加的方法的默认输出。它打印类名和id。由于您尚未保存实例,因此 id 为空。如果实例为空,则输出将是null,而不是scheduler.Client : null

如果要查看实例中的数据,请使用 Groovydump()方法,例如

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

您还可以添加一个toString包含该name属性的方法,例如

package scheduler

class Client {
   String name

   String toString() { name }
}
于 2012-11-01T22:18:09.153 回答