grails messages

Grails: obtener un valor de mensaje del controlador



messages (2)

¿Cómo puedo obtener un valor de las propiedades del mensaje fuera de los GSP? Por ejemplo, el equivalente de

<g:message code="some.message"/>

pero en un controlador?


Dentro de un controlador o un taglib, puede usar lo siguiente:

g.message(code: ''some.message'')

Sin embargo, dentro de clases de dominio o servicios, necesita inyectar messageSource y llamar al método getMessage () de la clase Sping AbstractMessageSource. Este fragmento muestra cómo hacer eso:

import org.springframework.context.i18n.LocaleContextHolder as LCH ... class MyServiceOrMyDomain { def messageSource ... messageSource.getMessage(code, msgArgs, defaultMsg, LCH.getLocale()) ... }


También puede importar la etiqueta de validación lib y usarla agarrar el origen del mensaje.

import org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib def g = new ValidationTagLib() g.message(error: error)