我有一个包含几个字段的域类。我可以从我的.gsps访问它们。我想在域类中添加一个方法,我可以从.gsps中调用它(这个方法是一种虚拟字段;它的数据不是直接来自数据库)。
如何添加方法以及如何从.gsps中调用它?
答案 0 :(得分:12)
要添加方法,只需像其他常规方法一样将其写出来。当您在GSP中显示它时,它将在对象上可用。
def someMethod() {
return "Hello."
}
然后在您的GSP中。
${myObject.someMethod()}
答案 1 :(得分:6)
如果您希望您的方法看起来更像属性,那么请将您的方法设为getter方法。一个名为getFullName()的方法可以像$ {person.fullName}一样访问属性。请注意缺少括号。
答案 2 :(得分:4)
考虑下面的课程
班级职位{
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()}