【问题标题】:grails message as argument of other messagegrails 消息作为其他消息的参数
【发布时间】:2015-06-12 16:42:22
【问题描述】:

例如,我的 i18n messages_es.properties 中有这个

birds.label=Aves
mammals.label=mamiferos
reptiles.label=reptiles

default.no.items.found=No se encontraron {0}

然后我想在我的 Grails .gsp 视图的模板参数中使用该消息:

<g:message code="default.no.items.found" args="<g:message code='birds.label'/>"/>

这当然行不通。但是有没有办法让这个简单?避免覆盖“未找到消息”或定义额外的变量。

【问题讨论】:

  • 你试过了吗?:&lt;g:message code="whatever" args="${message(code: 'somethingelse')}" /&gt;
  • 不,我没有尝试过,谢谢。我以为这很简单,但无法确定。 Grails 文档很差。
  • 实际上,Grails 文档非常适合记录框架本身,但我同意在填写有关底层技术的一些细节方面存在学习曲线。很高兴你把它整理好了(可能有助于为未来的用户接受这个问题的答案)。

标签: grails internationalization taglib


【解决方案1】:

您的问题的解决方案非常简单。您正在尝试从另一个调用嵌套标签库,但您做得并不正确:

&lt;g:message code="whatever" args="${message(code: 'somethingelse')}" /&gt;

这样做应该可以解决您的问题。

【讨论】:

  • 我发现我必须将args 设为一个列表,否则args 是一个字符串,并且只有内部消息的第 0 个字符才能将其放入外部消息中。即args="${[message(code: 'somethingelse')]}"
猜你喜欢
  • 2011-12-19
  • 1970-01-01
  • 2010-11-10
  • 2021-12-11
  • 2020-07-21
  • 2014-11-12
  • 2016-09-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多