在grails页面中显示多行文本

时间:2014-07-10 22:51:18

标签: string grails newline gsp

我对此感到很生气,我需要在grails 2.3.7中显示我从textarea获得的文本,但是当我用br /替换\ r \ n字符并执行encodeAsHTML()时,我得到的是每个而不是换行。

怎么做?这就是我尝试过的:

${cotizacionInstance.descripcion.encodeAsHTML().replaceAll('\r\n', '<br/>')}

${cotizacionInstance.descripcion.replaceAll('\r\n', '<br/>').encodeAsHTML()}

<%=cotizacionInstance.descripcion.replaceAll('\r\n', '<br/>').encodeAsHTML()%>

<%=cotizacionInstance.descripcion.encodeAsHTML().replaceAll('\r\n', '<br/>')%>

<%=cotizacionInstance.descripcion.replaceAll('\r\n', '<br/>').decodeHTML()%>

<%=cotizacionInstance.descripcion.decodeHTML().replaceAll('\r\n', '<br/>')%>

如果我使用pre标签,我不喜欢它的出现方式,因为我放弃了所有响应。

我在谷歌浏览器检查器中看到我在双引号之间得到了我的字符串,但我不知道如何删除它们。

由于

2 个答案:

答案 0 :(得分:5)

您的描述中遗漏了一些因素,这些因素无法确定,但是获得您所追求的行为的一种方法是将文本标记为原始文本...

${raw(cotizacionInstance.descripcion.replaceAll('\r\n', '<br/>'))}

我希望有所帮助。

答案 1 :(得分:0)

你需要逃避反斜杠:

replaceAll("\\n", "<br/>")