我正在使用JSF 1.2
我正在尝试使用<h:outputtext>
<h:outputText id="warningDose" styleClass="redText" value="#{templatePrescriptionMaintenanceBackingBean.doseWarningText}"></h:outputText>
现在这个变量包含带有html标签的文本。 <b>
,<i>
等......
但是它显示内容,而不是实际的粗体或斜体html输出。
我们有没有办法让这个<h:outputText>
能够提供html响应?
答案 0 :(得分:36)
您应该在h:outputText标记中设置:
escape="false"
但请记住,在JSF视图页面和底层bean之间混合使用“view”构造(即,使用HTML标记创建一个字符串)是一种不好的做法。所有“视图制作”都应该在视图页面中。
答案 1 :(得分:7)
只是将它设置为不逃避。
<h:outputText id="warningDose" escape="false" styleClass="redText" value="#{templatePrescriptionMaintenanceBackingBean.doseWarningText}"></h:outputText>
答案 2 :(得分:1)
我有一个非常类似的问题。我的问题是here
我的xhtml页面看起来像 -
<h:outputText itemEscaped="false" escape="false" value="#{singleViewResultDO.associatedCode}" />
associatedCode从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来标记。因为,我在我的转义=“假”,我不需要在查询中转义我的html标签。我的意思是不需要转换&lt;到&lt; &GT;到&gt;和“到”
另请注意,由于我的跨度中有双引号“”,因此我需要将其转义一次,以便在到达时不会进行转义。
我按照需要获得输出 - 红色的8000778