使用&书信电报;g:javascript中的消息标记
我想在javascript中使用下面的标记来读取resourcebundle值使用&书信电报;g:javascript中的消息标记,java,javascript,grails,internationalization,gsp,Java,Javascript,Grails,Internationalization,Gsp,我想在javascript中使用下面的标记来读取resourcebundle值 var myText = "<g:message code='${steps[i].text}' />" ; var myText=”“; 步骤[i].text不是静态的,并且不断变化,这就是为什么我需要将“步骤[i].text”的值传递给resourcebundle 如果我使用 var myText = "<g:message code='a.b.key' />" ; var myTe
var myText = "<g:message code='${steps[i].text}' />" ;
var myText=”“;
步骤[i].text不是静态的,并且不断变化,这就是为什么我需要将“步骤[i].text”的值传递给resourcebundle
如果我使用
var myText = "<g:message code='a.b.key' />" ;
var myText=”“;
那么它工作得很好。
但对于下一行,它给出如下错误:
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
var myText=”“;
org.codehaus.groovy.grails.web.taglib.exceptions.grailstageexception:执行标记时出错:执行标记时出错:在第[393]行计算表达式[steps[i].text]时出错:无法获取null对象的属性“null”
我的代码位于.gsp文件中,该文件能够读取资源包。问题在于,当呈现gsp grails时,会转换相应消息中的g:消息,但它不会转换相应标签中的${steps[i].text} 也许您可以使用message标记的args来解决此问题: .普惠制
也许这对你有用:
var myText = "${g.message(code:steps[i].text)}";
我在这里假设“steps”是一个服务器端变量,而不是javascript变量。是
steps[I]。text
服务器端模型中的某个东西还是客户端的某个东西?消息标记是服务器端的,不能与代码参数的客户端值一起使用。是步骤[i]。文本来自服务器端,但在客户端,我得到的是正确的。因为如果我不进行本地化,那么我可以在页面上正确地看到该值。步骤[i]。文本是完全未知的值。只能在运行时读取。步骤[i]。文本来自后端。我可以执行警报(步骤[I].text),并且值得到正确的设置。这就是为什么我不能使用
a.b.key = whatever {0} means
var myText = "${g.message(code:steps[i].text)}";