2013-11-01 18 views
1

我最近更新了我的Grails安装从2.2到2.3.1,并尝试使用<g:javascript>环境中的groovy表达式来获取某些json数据结构时遇到错误。g:javascript环境中的Grails 2.3表达式输出错误

这是一个例子:

<g:javascript> 
    var foo = ${ bar as grails.converters.JSON }; 
    doSomeStuff(); 
</g:javascript> 

这将逃脱整个JSON串为Unicode字符(\u005b\u007bid:1\u002c name:.....)。如何获得原始字符串?正如文件指出的那样:我尝试使用raw()关键字。但没有运气。我没有更改任何与我的XSS相关的配置。这就是我的配置:

grails.views.default.codec = "none" 
grails.views.gsp.encoding = "UTF-8" 
grails.converters.encoding = "UTF-8" 

编辑:

我,直到这个bug临时的解决方案是固定的:

$.parseJSON(decodeURIComponent(uglyUnicodeString))

+0

看来,''应该有一个选项输出原始内容。你能用一个例子打开一个JIRA吗? –

回答

1

我有同样的问题。我的解决办法是:

<g:javascript> 
    var foo = ${ bar.encodeAsJSON() }; 
    doSomeStuff(); 
</g:javascript>