如何从GSP之外的消息属性中获取值?例如,相当于

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

但是在 Controller 中?

最佳答案

在 Controller 或taglib中,可以使用以下命令:

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

但是,在域类或服务内部,您需要注入(inject)messageSource并从Sping类AbstractMessageSource调用getMessage()方法。
此代码段显示了如何执行此操作:
import org.springframework.context.i18n.LocaleContextHolder as LCH
...
class MyServiceOrMyDomain {
  def messageSource
  ...
  messageSource.getMessage(code, msgArgs, defaultMsg, LCH.getLocale())
  ...
}

10-08 13:23