documentacion docs grails groovy

grails - docs - Agregar un método a una clase de dominio



grails documentation 2.4 4 (3)

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).

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


Si desea que su método parezca más bien una propiedad, entonces haga que su método sea 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.


Considere la clase como a continuación

clase Job {

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

}

Puedes usar jsonMap donde quieras. En gsp también como $ {jobObject.jsonMap ()}


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 tu GSP.

${myObject.someMethod()}