Подтвердить что ты не робот

<h: outputtext> печатает HTML как есть вместо фактического HTML

Я использую JSF 1.2

Я пытаюсь распечатать текст, используя <h:outputtext>

<h:outputText id="warningDose" styleClass="redText" value="#{templatePrescriptionMaintenanceBackingBean.doseWarningText}"></h:outputText>

Теперь эта переменная содержит текст с тегами html. <b>, <i> и т.д.

Но это отображает контент, а не фактический жирный или курсивный вывод html.

Есть ли способ сделать это <h:outputtext> таким, чтобы он дал html-ответ?

4b9b3361

Ответ 1

Вы должны установить в теге h: outputText:

escape="false"

Но помните, что смешанная конструкция "вид" (т.е. создание строки с тегами HTML) между страницей просмотра JSF и базовым bean является довольно плохой практикой. Вся информация о представлении должна отображаться на странице просмотра.

Ответ 2

Просто установите его, чтобы он не исчез.

<h:outputText id="warningDose" escape="false" styleClass="redText" value="#{templatePrescriptionMaintenanceBackingBean.doseWarningText}"></h:outputText>

Ответ 3

У меня была очень похожая проблема. Мой вопрос здесь

Моя страница xhtml выглядит как

<h:outputText  itemEscaped="false" escape="false"    value="#{singleViewResultDO.associatedCode}" />

relatedCode получает значение из SQL-запроса, где я хочу использовать тег HTML для условного стиля.

Вот мой запрос SQL выглядит так:

Select A, REPLACE(Wm_Concat(DISTINCT  CASE WHEN sv.rmvd = 0 THEN  ' '||sv.CMPNION_CD  ELSE '<span style=\"color:red; \">' || ' '||sv.CMPNION_CD|| '</span>' END),' , ','') ,  "
from Table

Игнорировать REPLACE и WM_CONCAT, как и для отображения значений, разделенных запятыми. Соответствующий фрагмент кода

CASE WHEN sv.rmvd = 0 THEN  ' '||sv.CMPNION_CD  ELSE '<span style=\"color:red; \">' || ' '||sv.CMPNION_CD|| '</span>' END

Я хочу иметь тег, основанный на условии rmvd = 0.. Так как у меня есть escape = "false" в моем, мне не нужно скрывать теги html в запросе. Я имею в виду, нет необходимости конвертировать < до < > to > и "to "

Также обратите внимание, что, поскольку у меня есть двойные кавычки "" в моем диапазоне, мне нужно уйти от него один раз, чтобы он не ускользнул, когда он достигнет.

Я получаю свой вывод по желанию - 8000778 в красном цвете