2012-05-01 88 views
7

我正在嘗試在我的java類中從幾個小的HTML行中獲取一些數據,這些數據來自另一個API。我使用JSON字符串獲取數據,然後想要在網頁上顯示一些數據。在一個字符串中寫入html

要創建的HTML,我嘗試:

 StringBuilder sb = new StringBuilder(); 
    for(int i=0;i<leads.size();i++){ 
     sb.append("<p>Name: "+leads.get(i).getFirstName()+" "+leads.get(i).getLastName()+"</p>"); 
     sb.append("<p>Email: "+leads.get(i).getEmail()+"</p>"); 
     sb.append("<br />"); 
    } 
    fullLeadData = sb.toString(); 

但是最終被顯示的是HTML標籤的文字解釋。有沒有一種方法可以創建此字符串,以便標籤保留爲標籤而不是轉義字符?

Java類是託管bean,所以在HTML我有:

<body> 
    <div id="display"> 
     #{PortalView.fullLeadData} 
    </div> 
</body> 

哪裏fullLeadData與HTML的字符串。

+1

你究竟在哪裏試圖顯示這個文本? –

+0

更新了我的帖子,在該網頁上顯示 –

+0

將append方法內部的字符串連接起來並不是一個很好的做法。 – ChadNC

回答

7

好像你在使用JSF。試試這個:

<div id="display"> 
    <h:outputText value="#{PortalView.fullLeadData}" escape="false"/> 
</div> 
+0

非常感謝,Gamb! –

1

您可能需要替換轉義序列。常見的是

‘&’ (ampersand) ‘&amp;‘ 
‘"’ (double quote) ‘&quot;‘ 
」’ (single quote) ‘&#039;‘ 
‘<’ (less than) ‘&lt;‘ 
‘>’ (greater than) ‘&gt;‘