本文介绍了Grails - 从控制器获取消息值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How can I get a value from message properties outside of GSPs? For instance, the equivalent of

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

但在控制器中?

but in a controller?

推荐答案

在控制器或taglib中,您可以使用以下内容:

Inside a controller or a taglib, you can use the following :

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

然而,在域类或服务中,需要注入messageSource并从Sping类AbstractMessageSource中调用getMessage()方法。
这段代码告诉你如何做到这一点:

However, inside domain classes or services, you need to inject messageSource and call getMessage() method from Sping class AbstractMessageSource.This snippet shows you how to do that:

import org.springframework.context.i18n.LocaleContextHolder as LCH
...
class MyServiceOrMyDomain {
  def messageSource 
  ...
  messageSource.getMessage(code, msgArgs, defaultMsg, LCH.getLocale())
  ...
}

这篇关于Grails - 从控制器获取消息值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-22 10:53