从HTML编码消息中停止Grails?

时间:2013-06-18 17:06:07

标签: grails

注意:在从Grails 1.3.6升级到2.2.2的过程中。

如果我有一个标签,如:

<g:message code="some.code.here" args="${[someHTML]}" />

即使在Config.groovy中设置了以下内容,它也会将值编码为HTML:

grails.views.default.codec = "none" 

这在Grails 1.3.6中不是问题。它适用于整个项目中的所有标签。这是以这种方式传递链接所必需的,因为我们正在传递基于语言的链接。

知道为什么即使它在升级之前工作也没有用,或者解决方法?

如果HTML位于.properties文件中,则呈现正常。如果变量只是嵌入到页面中,它可以正常工作。它是将它作为参数传递给g:message导致它出错的行为。我试图使用&lt;%= someHTML%&gt;传递它的方式,但它似乎不喜欢,告诉我,我错过了一个引用。

1 个答案:

答案 0 :(得分:2)

g:由于XSS漏洞(GRAILS-7170),邮件已更改。有关在某些情况下(例如您的用例)继续使用HTML参数的解决方法,请参阅http://jira.grails.org/browse/GRAILS-10099