如何在 Grails 的控制器之外使用 g.message? [复制]

Posted

技术标签:

【中文标题】如何在 Grails 的控制器之外使用 g.message? [复制]【英文标题】:How can I use g.message outside a Controller in Grails? [duplicate] 【发布时间】:2011-08-19 17:00:22 【问题描述】:

可能重复:Grails - getting a message value from controller

我想在Service 类中使用g.message() 方法,而不是Controller。 但我做不到。

代码示例:

// this is a method OUTSIDE a Controller 
def show = 
    def msg = message(code:"foo.bar") // I'm getting error here

可以这样做,还是我必须使用旧的ResourceBundle 类?

【问题讨论】:

【参考方案1】:

另一个问题有一个完美的答案:

import org.springframework.context.i18n.LocaleContextHolder as LCH
...
class MyServiceOrMyDomain 
  def messageSource 
  ...
   messageSource.getMessage(key, ["myArg"].toArray(), LCH.getLocale())
  ...

感谢fabien7474

【讨论】:

以上是关于如何在 Grails 的控制器之外使用 g.message? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 Grails 之外使用 Grails 验证?如何?

在 grails-app 之外的 Grails 类中注入日志对象

类 [] 上的方法在 Grails 应用程序之外使用。如果在使用模拟 API 或引导 Grails 的测试上下文中正确运行

如何在 grails 控制器中使用路径变量?

带有数据库迁移插件的 Grails 3:类 [com.mypackage.security.RequestMap] 上的方法在 Grails 应用程序之外使用

我如何在 grails 2.3.1 中使用控制器来休息 api?