我对此很生气,我需要在grails 2.3.7中显示一个textarea文本,但是当我替换br /的\ r \ n字符并执行encodeAsHTML( )我得到了br的每一个地方,而不是新的线。在grails中显示多行文字页面
它是如何完成的?这是我试过的:
${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标签的方式,因为我放弃了所有的响应。
我看到在谷歌铬检查器中,我得到我的双引号之间的字符串,但我不知道如何删除这些。
感谢
更多信息,可以在http://grails.org/doc/latest/guide/security.html#xssPrevention找到。 –
确保您了解所有这些工作。如果'cotizacionInstance.descripcion'的值可能包含恶意标记,并且将其标记为raw,则该值中的任何值都将被非转义化。根据你的应用程序,也许这是好的,但它是谨慎的事情。 –
这是我需要的感谢!,我将在替换之前使用encodeAsHTML,因此恶意标记不会伤害到我;) –