2008-10-11 13 views
8

Tengo una clase de dominio que contiene un par de campos. Puedo acceder a ellos desde mi .gsps. Quiero agregar un método a la clase de dominio, que puedo llamar desde .gsps (este método es una especie de campo virtual, sus datos no provienen directamente de la base de datos).Agregar un método a una clase de dominio

¿Cómo agrego el método y cómo puedo llamarlo desde .gsps?

Respuesta

11

Para agregar un método, simplemente escríbalo como lo haría con cualquier otro método regular. Estará disponible en el objeto cuando lo muestre en su GSP.

def someMethod() { 
    return "Hello." 
} 

Luego en su GSP.

${myObject.someMethod()} 
6

Si desea que su método para parecer más como una propiedad, a continuación, hacer que su método un método getter. Se puede acceder a un método llamado getFullName() como una propiedad como $ {person.fullName}. Tenga en cuenta la falta de paréntesis.

+0

¿Puede mostrar cómo hacer que sea un método getter? –

+0

Creo que simplemente pones un get en el frente, es decir 'def getSomeMethod()'. –

4

Considérese la clase, como a continuación

empleo clase {

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" 
    ] 
    } 

}

Usted puede usar esa jsonMap donde quiera. En gsp también como $ {jobObject.jsonMap()}

Cuestiones relacionadas