Как остановить html textarea от интерпретации html-сущностей в их символы

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

Проблема в том, что когда он получает объекты в строке, он преобразует их в их символы, а затем, когда текст сохраняется, символы перезаписывают объекты. Например: база данных вернет строку Microsoft, которая будет отображаться как Microsoft®, а затем сохранена таким образом. Есть ли способ заставить текстовые поля не интерпретировать объекты?

Последующие действия: сейчас моя мысль заключается в том, чтобы при получении строки из базы данных заменить все '&' на ''. Но мне все еще интересно, есть ли способ запретить текстовым областям преобразовывать строки, которые они получают.


person Riplikash    schedule 03.09.2010    source источник
comment
вы знаете, какой Unicode используется в вашей базе данных?   -  person Tim    schedule 03.09.2010


Ответы (1)


Итак, вы хотите избежать сущностей HTML? Вы можете использовать JSTL <c:out> или _ 2_.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<textarea><c:out value="${bean.text}" /></textarea>

or

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<textarea>${fn:escapeXml(bean.text)}</textarea>

По умолчанию он будет переходить под каждым & в &amp;, так что, например, &reg; становится &amp;reg;, и таким образом он будет отображаться как &reg;.

person BalusC    schedule 03.09.2010