我正在使用 Grails 的 CKEditor 插件,虽然我可以将 CKEditor 中的 HTML 内容存储到数据库中,但我无法在视图中正确呈现它。
我在视图中得到的是转义的 HTML,而不是标记内容。
<p> sdfsdfsadf</p> <p> asdfasdfasdf</p> <p> asdfasdfasdf</p> <p> ¥</p>
当我想要:
sdfsdfsadf
asdfasdfasdf
asdfasdfasdf
¥
如何让存储的数据正确呈现?
我正在使用 Grails 的 CKEditor 插件,虽然我可以将 CKEditor 中的 HTML 内容存储到数据库中,但我无法在视图中正确呈现它。
我在视图中得到的是转义的 HTML,而不是标记内容。
<p> sdfsdfsadf</p> <p> asdfasdfasdf</p> <p> asdfasdfasdf</p> <p> ¥</p>
当我想要:
sdfsdfsadf
asdfasdfasdf
asdfasdfasdf
¥
如何让存储的数据正确呈现?
迁移到 Grails 2.4,经过一番摸索,发现<%=expression%>
已弃用。
使用新语法${raw(expression)}
解决了我的问题。
试试 ${instance?.attribute?.decodeHTML()}
来自John Flinchbaugh关于编解码器和编码的问题的回答:
要为页面中默认为 HTML 的一个表达式禁用 HTML 编码,请使用
<%=expression%>
符号而不是${...}
.