Grails和HTML编纂

时间:2019-06-03 10:08:50

标签: html grails encoding escaping

我知道这个项目有很多问题,但是在访问了大多数问题之后,我不知道这里发生了什么。

我有两个应用程序,它们从同一个数据库接收一个字符串并打印出来。

数据库内容:

<p>prob&aacute;ndo</p>

<p>probando</p>

两个应用程序都在Config.groovy中:

grails.views.default.codec = "none"

两个应用程序都以相同的方式恢复数据库中的内容:

def list() {
    def results = System.list()
    [systemInstanceList: results]
}

要打印它:

App1:

<div>${fieldValue(bean: systemInstanceList[0], field: "texto_gl").decodeHTML()}</div>

结果:

probándo

probando

这是预期的结果。

App2,几次尝试:

    <div> 
        <p><b>prob&aacute;ndo</b></p>
        ${systemInstanceList[0].texto_gl.decodeHTML()}
        <br>
        ${systemInstanceList[0].texto_gl}
        <br>
        ${fieldValue(bean: systemInstanceList[0], field: "texto_gl").decodeHTML()}
        <br>
        ${fieldValue(bean: systemInstanceList[0], field: "texto_gl")}
    </div>

结果:

probándo
<p>probándo</p> <p>probando</p>
<p>prob&aacute;ndo</p> <p>probando</p>
<p>prob&aacute;ndo</p> <p>probando</p>
<p>prob&aacute;ndo</p> <p>probando</p>

第一个是正确的,但这只是一个测试,内容不是来自数据库。

我还能尝试什么?

也许值得注意的是,第一个应用程序也是将内容写入数据库的应用程序。

1 个答案:

答案 0 :(得分:0)

通过以下方式解决:

${raw(systemInstanceList[0].texto_gl.decodeHTML())}

但是我不明白为什么两个应用程序的行为都不同。