g中的代码:消息未解析

时间:2016-10-03 18:56:15

标签: grails internationalization gsp

我试图理解为什么这不起作用:

<g:set var="testvar" value="${'label.' + controller.computeLabel()}"/>

<g:message code="${testvar}"/>

这个的输出是(假设controller.computeLabel()返回&#34; computed.label&#34;):

label.computed.label

如何强制g:message解析代码属性?

谢谢!!

2 个答案:

答案 0 :(得分:0)

你对以下声明做了很多假设:

  

假设contoller.computeLabel()返回&#34; computed.label&#34;

像GSP一样调用内联控制器并不会按照您的预期行事。事实上,在许多层面上都是错误的。 你不应该这样做

相反,无论控制器呈现GSP,都应该在模型中提供信息。所以,你最终会得到这样的东西:

<g:set var="testvar" value="${'label.' + valueFromModel}"/>

以这种方式解决问题,并正确使用MVC将解决您的问题。

如果没有关于您的具体情况的更多信息,则无法给出更详细的答案。

答案 1 :(得分:0)

我现在感到愚蠢......标签不匹配。

工作正常。