отображать тег HTML - PullRequest
       5

отображать тег HTML

0 голосов
/ 02 ноября 2010

Я работаю над приложением на Java.Мне нужно взять отформатированные данные HTML из объекта и отобразить их в виде таблицы с отображаемым тегом.Однако, по умолчанию, displaytag подавляет форматирование с помощью escapeHTML содержимого, поэтому мой формат не будет отображаться должным образом.

Как будто я использовал отформатированные данные для выделения подходящих поисковых слов в теге: <SPAN style='background-color:yellow;'></SPAN>.Информация, отображаемая в результате поиска, имела буквальный синтаксис.вместо желтого фона слова.

Как я могу удалить HTML, чтобы он мог отображать подсвеченный фон?

Я готов попытаться использовать атрибут escapeXml.Однако приложение не удалось из-за недопустимых атрибутов.

Спасибо,

Ответы [ 2 ]

3 голосов
/ 03 ноября 2010

Странно.Согласно документации displaytag Экранирование XML по умолчанию отключено.Вы уверены, что у вас нет escapeXml="true" где-то в тегах?

Другая причина может заключаться в том, что вы используете тег JSTL <c:out> для отображения отдельных значений.Он по умолчанию экранирует XML.Вы можете отключить его, добавив к тегу атрибут escapeXml="false".

0 голосов
/ 03 ноября 2010

Правильно ли я понимаю, что вы хотите экранировать экранированный HTML-код?Вы можете сделать это примерно так:

public static String unescapeHtml(final String input){
    return input
        .replace("&lt;", "<")
        .replace("&gt;", ">")
        .replace("&amp;", "&")
        .replace("&quot;", "\"");
}
...