如何以编程方式包含HTML内容?

时间:2013-05-29 07:14:03

标签: jsf jsf-2

我在Spring控制器上有一个返回HTML代码的方法。如何在DetailsDialog中包含此HTML代码?顺便说一下,此方法将HTML代码作为Byte Array返回。

<p:dialog id="DetailsDialog" header="Details" widgetVar="DetailsDialogWid">
    <!--HTML PAGE-->
</p:dialog>

1 个答案:

答案 0 :(得分:4)

您只需使用h:outputText添加HTML内容,但您需要在String之前更改输出内容。

Bean代码:

public String getHtmlContent()
{
    return String(getByteArrayHtmlContent(), CHARACTER_ENCODING_OF_HTML);
}

请注意,您通常必须指定字节数组的字符编码才能将其正确转换为字符串。 CHARACTER_ENCODING_OF_HTML可能是"US-ASCII""UTF-8""ISO-8859-1"等,具体取决于字节数组包含的内容。

查看代码:

<p:dialog id="DetailsDialog" header="Details" widgetVar="DetailsDialogWid">
    <h:outputText value="#{yourBean.htmlContent}" escape="false" />
</p:dialog>

请注意阻止转换为HTML实体的escape="false"

更多信息:JSF outputText example