Grails - 从 Controller 获取消息值

标签 grails messages

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

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

但在 Controller 中?

最佳答案

在 Controller 或标签库中,您可以使用以下内容:

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

关于Grails - 从 Controller 获取消息值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2814771/

相关文章:

unit-testing - 单元测试因GrailsConfigurationException失败-无法找到负责任的代码行

ios - 在 iOS 中是否有另一种启动消息应用程序的方法? (用于捐赠)

Django:在显示之前删除消息

scala - akka actor 中的消息传递序列

grails - 如何从Grails Taglibs生成TLD文件?

grails - 1.3.7的码头插件去了哪里?

grails - 在 Grails 中用自己的方法扩展 SpEL?

hibernate - Grails/hibernate : Null Pointer Exception on versioning

byte - 如何将 block 中的字节传输到客户端?

spring - 这些 Spring 调试消息是什么意思?