组件将带有HTML代码的字符串注入并解释到JSF页面中

组件将带有HTML代码的字符串注入并解释到JSF页面中,html,jsf,jsf-2,primefaces,escaping,Html,Jsf,Jsf 2,Primefaces,Escaping,我在JSF2.0中使用PrimeFaces构建一个应用程序。我使用PrimeFaces组件让用户能够创建富文本。但该组件的输出是HTML源代码,如下所示: String text = "<p>This text <i>contains</i> some <b>HTML</b> code.</p>"; String text=“此文本包含一些HTML代码。”; 当我在中显示此项时,如下所示: <h:outputTex

我在JSF2.0中使用PrimeFaces构建一个应用程序。我使用PrimeFaces
组件让用户能够创建富文本。但该组件的输出是HTML源代码,如下所示:

String text = "<p>This text <i>contains</i> some <b>HTML</b> code.</p>";
String text=“此文本包含一些HTML代码。

”;
当我在
中显示此项时,如下所示:

<h:outputText value="#{bean.text}" />

然后将HTML代码显示为纯文本:

此文本包含一些HTML代码

是否有任何组件可以解释HTML源代码,例如,
实际显示为斜体,
显示为粗体

此文本包含一些HTML代码


JSF默认情况下从支持bean属性中转义HTML,以防止XSS攻击漏洞。要禁用此功能,只需将
escape
属性设置为
false

<h:outputText ... escape="false" />

这样,HTML将不会被转义,因此将由webbrowser进行解释


与具体问题无关,请注意XSS攻击,因为这里基本上是重新显示用户控制的输入,而不是越界。您可能需要事先对其进行消毒