0

我正在使用本地化(消息)插件从数据库中提取 i18n 定义,而不是从 i18n 文件夹中的标准属性文件中提取。

我正在尝试在我的 Service.groovy 文件中使用本地化插件。我正在这样做..

import org.grails.plugins.localization.*
// some code.....
def body = message(code: "goal.auto.email.alert")  
log.info("body : "+body)

当我检查日志时,我的身体显示为空。我已经在我的本地化表中添加了具有相同代码名称的记录。但它没有从表中获取字符串消息。我无法弄清楚问题所在。请帮忙。提前致谢。

4

2 回答 2

0

试试下面的代码

class FirstService {

def messageSource

  def test() {
    ...
    def msg = messageSource.getMessage('localization.cache.hits', null, Locale.US)
    ...
  }
}

请参阅博客

于 2013-10-04T07:07:18.117 回答
0

根据我的经验,我认为message(code: "goal.auto.email.alert")不会在服务中工作。所以我通过使用 sql 查询来做到这一点。

def body = sql.rows("SELECT TEXT FROM Localization WHERE CODE='goal.auto.email.alert'") 
    body = body.text[0]

现在它对我有用:)

于 2013-10-28T12:53:26.747 回答