2008-10-11 97 views
8

我有一個包含幾個字段的域類。我可以從我的.gsps訪問它們。我想添加一個方法到域類,我可以從.gsps調用這個方法(這個方法是一種虛擬域,它的數據不是直接來自數據庫)。將方法添加到域類

如何添加該方法,然後如何從.gsps中調用它?

回答

11

要添加一個方法,只需將它寫出來就像您使用其他常規方法一樣。當您在GSP中顯示它時,它將在對象上可用。

def someMethod() { 
    return "Hello." 
} 

然後在你的GSP中。

${myObject.someMethod()} 
6

如果您希望您的方法看起來更像是一個屬性,那麼使您的方法成爲一個getter方法。稱爲getFullName()的方法可以像$ {person.fullName}這樣的屬性來訪問。請注意缺少括號。

+0

你可以說明如何使它成爲一個getter方法嗎? – 2014-03-01 08:31:56

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()}