我想使用下面的标签javascript阅读resourcebundle值。
var myText = "<g:message code='${steps[i].text}' />" ;
steps [i] .text不是静态的,并且不断改变这就是为什么我需要传递&#34; steps [i] .text&#34;的值。资源捆绑。
如果我使用,
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文件,它能够读取资源包。
答案 0 :(得分:0)
问题在于,当您渲染gsp grails时,会在相应的消息中转换g:消息,但它不会转换相应标签中的$ {steps [i] .text}。
也许你可以使用消息标记的args解决问题:
.gsp
<g:message code='a.b.key' args="[i]" />
.messages.properties
a.b.key = whatever {0} means
答案 1 :(得分:0)
也许这对你有用:
var myText = "${g.message(code:steps[i].text)}";
我在这里假设'steps'是服务器端变量而不是javascript。