我有一个包含几个字段的域类。我可以从我的 .gsps 访问它们。我想向域类添加一个方法,我可以从 .gsps 调用它(此方法是一种虚拟字段;它的数据不是直接来自数据库)。
如何添加该方法,然后如何从 .gsps 调用它?
要添加一个方法,只需像编写任何其他常规方法一样将其写出来。当您在 GSP 中显示它时,它将在对象上可用。
def someMethod() {
return "Hello."
}
然后在您的普惠制中。
${myObject.someMethod()}
如果你想让你的方法看起来更像一个属性,那么让你的方法成为一个 getter 方法。一个名为 getFullName() 的方法可以像 ${person.fullName} 的属性一样被访问。注意没有括号。
考虑如下类
类工作{
String jobTitle
String jobType
String jobLocation
String state
static constraints = {
jobTitle nullable : false,size: 0..200
jobType nullable : false,size: 0..200
jobLocation nullable : false,size: 0..200
state nullable : false
}
def jsonMap () {
[
'jobTitle':"some job title",
'jobType':"some jobType",
'jobLocation':"some location",
'state':"some state"
]
}
}
您可以在任何地方使用该 jsonMap。在 gsp 中也像 ${jobObject.jsonMap()}