Grails и кодификация HTML - PullRequest
0 голосов
/ 03 июня 2019

Я знаю, что есть много вопросов с этим предметом, но после посещения большинства из них, я не могу понять, что здесь происходит.

У меня есть два приложения, которые получают строку из одной базы данных и распечатывают ее.

Содержимое базы данных:

<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

Какой ожидаемый результат.

Приложение 2, несколько попыток:

    <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 голосов
/ 03 июня 2019

Решено с помощью:

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

Но я не понимаю, почему оба приложения ведут себя по-разному.

...