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