我对此感到很生气,我需要在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标签,我不喜欢它的出现方式,因为我放弃了所有响应。
我在谷歌浏览器检查器中看到我在双引号之间得到了我的字符串,但我不知道如何删除它们。
由于
答案 0 :(得分:5)
您的描述中遗漏了一些因素,这些因素无法确定,但是获得您所追求的行为的一种方法是将文本标记为原始文本...
${raw(cotizacionInstance.descripcion.replaceAll('\r\n', '<br/>'))}
我希望有所帮助。
答案 1 :(得分:0)
你需要逃避反斜杠:
replaceAll("\\n", "<br/>")