如何从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())
...
}