注意:在从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;传递它的方式,但它似乎不喜欢,告诉我,我错过了一个引用。
答案 0 :(得分:2)
g:由于XSS漏洞(GRAILS-7170),邮件已更改。有关在某些情况下(例如您的用例)继续使用HTML参数的解决方法,请参阅http://jira.grails.org/browse/GRAILS-10099。