发布于2014-12-25 11:57:23
数据库中存储的是一段html代码,在grails2.3下在页面中显示总是显示一段被转义后的html代码,解决方案:
1:在grails-app/utils/下创建HTMLCodec.groovy,在其中的decode方法中进行反转:
static decode = { theTarget ->
org.springframework.web.util.HtmlUtils.htmlUnescape(theTarget.toString())
}
页面上需要显示html的地方调用decodeHTML(),则转义后的html代码自动反转回来。
2:encodeAsRaw,该方法没有亲自试用,http://stackoverflow.com/questions/25560551/groovy-can-not-encodeashtml上有使用方法:
${raw(book.introduction.encodeAsHtml())}
or:${book.introduction.encodeAsHtml().encodeAsRaw()}
or grails tag:
<g:encodeAs code="Raw">${book.introduction.encodeAsHtml()}</g:encodeAs>
<g:encodeAs code="None">${book.introduction.encodeAsHtml()}</g:encodeAs>