繁体   English   中英

使用“

[英]Using "<g:message tag in javascript

我想在javascript中使用以下标记读取resourcebundle值。

var myText = "<g:message code='${steps[i].text}' />" ;

steps [i] .text不是静态的,并且不断变化,这就是为什么我需要将“ steps [i] .text”的值传递给resourcebundle的原因。

如果我用

var myText = "<g:message code='a.b.key' />" ;

然后就可以了 但是对于下面的行,它给出如下错误:

var myText = "<g:message code='${steps[i].text}' />" ;

org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Error executing tag <g:render>: Error executing tag <r:script>: Error evaluating expression [steps[i].text] on line [393]: Cannot get property 'null' on null object

我的代码在.gsp文件中,该文件能够读取资源包。

问题在于,当渲染gsp grails时,会转换相应消息中的g:message,但不会转换相应标签中的$ {steps [i] .text}。

也许您可以使用message标签的args解决问题:

.gsp

<g:message code='a.b.key' args="[i]" />

.messages.properties

a.b.key = whatever {0} means

也许这可能对您有用:

var myText = "${g.message(code:steps[i].text)}";

我在这里假设“步骤”是服务器端变量,而不是JavaScript变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM