回答
内部控制器或标签库,你可以使用以下命令:
g.message(code: 'some.message')
然而,领域类或服务里边,你需要注入为messageSource和调用的getMessage从自旋微观类AbstractMessageSource()方法。 该片段显示了如何做到这一点:
import org.springframework.context.i18n.LocaleContextHolder as LCH
...
class MyServiceOrMyDomain {
def messageSource
...
messageSource.getMessage(code, msgArgs, defaultMsg, LCH.getLocale())
...
}
您也可以导入验证标记库,并用它抢消息源。
import org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib
def g = new ValidationTagLib()
g.message(error: error)
但它计算当前请求的区域设置吗? – fabien7474 2010-05-12 15:17:01
@fabien是的它的确如此 – vickirk 2012-08-31 14:43:15
g.message似乎是比messageSource更好的方法,因为需要更少的代码,您不必处理异常,并且您已经知道[如何使用它](http:// grails.org/doc/latest/ref/Tags/message.html)。 – 2013-09-24 17:39:09
- 1. 从控制器获取验证消息
- 2. 无法从控制器外面的MessageSource获取消息
- 3. Ajax.ActionLink,从控制器获取数据或错误消息?
- 4. 从控制器获取Int值从$ .Ajax
- 5. Grails获取原始控制器的url
- 6. Grails获取控制器的视图
- 7. 在控制台中获取endIgnoringInteractionEvents消息
- 8. Grails从控制器返回值gsp
- 9. Grails从视图访问控制器值
- 10. 从控制器获取值以形成
- 11. 从HTML获取值到控制器
- 12. 错误,从控制器获取价值
- 13. 获取控制台消息到消息框中
- 14. 获取值控制器ERB
- 15. 发送消息从控制器查看
- 16. 如何处理仅消息窗口以从控制台窗口获取消息?
- 17. 消息控制器iOS
- 18. 从控制器获取$ viewValue
- 19. Grails 2.5.3未解析控制器上的消息参数
- 20. 如何在Grails控制器之间传递错误消息?
- 21. 从Grails控制器/服务获取OpenID URL
- 22. 如何从Grails控制器中的params中获取映射?
- 23. Grails/Dojo进度条从控制器/服务获取进度
- 24. 从Java中的SOAP消息获取值
- 25. 使用XmlDictionaryReader从消息中获取值
- 26. 如何使用rails控制台从mangomapper获取验证消息?
- 27. 从Grails params获取BigDecimal值
- 28. 从消息头Grails中提取消息标识
- 29. 实时从服务器获取消息
- 30. 如何从控制台获取信息
令人惊叹的答案!非常感谢! – Topera 2011-05-05 21:13:11
只是为了帮助可能和我有同样问题的人 - myArgs必须是一个对象数组,例如:messageSource.getMessage(“some.code”,[“arg1”] Object [],“默认“,LCH.getLocale()) – MBozic 2012-10-10 17:58:38
我使用的是grails 2.1。看起来你不能在控制器中使用g命名空间。使用消息(代码:“”)完成这项工作。也许你现在只需要taglibs的g命名空间。 http://grails.org/doc/2.1.0/guide/single.html#i18n – 2013-01-22 14:04:46