2013-05-29 24 views
0

我有一個方法在Spring控制器返回HTML代碼。如何在DetailsDialog中引入此HTML代碼?順便說一句,此方法返回HTML代碼爲Byte Array如何以編程方式包含HTML內容?

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

回答

3

你可以簡單地包括您的HTML內容與h:outputText,但你需要前更改你的輸出內容String

豆代碼:

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> 

注意escape="false"防止轉換爲HTML實體。

更多信息:JSF outputText example

+2

使用'新的字符串(字節[])'幾乎總是錯的,因爲它使用了默認的字符編碼,這可能是任何東西。我冒昧地將其編輯爲答案。 – sleske

+0

@sleske很好的改進! –

相關問題