2012-05-01 9 views
7

私は別のAPIからいくつかのデータを取得するJavaクラスのhtmlのいくつかの小さな行を書きます。 JSON文字列でデータを取得し、その一部をWebページに表示したいと考えています。 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タグの文字通りの解釈です。タグがエスケープ文字ではなくタグとして残るように、この文字列を作成する方法はありますか?

fullLeadDataがHTMLの文字列です
<body> 
    <div id="display"> 
     #{PortalView.fullLeadData} 
    </div> 
</body> 

Javaクラスは、私が持っているのhtmlで、マネージドBeanです。

+1

正確にこのテキストを表示しようとしていますか? –

+0

私のポストを更新しました。そのWebページに表示します。 –

+0

appendメソッドの中で文字列を連結するのは、あまり良いことではありません。 – ChadNC

答えて

7

JSFを使用しているようです。試してみてください:

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

おかげで、ガンブ! –

1

エスケープシーケンスを交換する必要があります。よくあるものは

‘&’ (ampersand) ‘&amp;‘ 
‘"’ (double quote) ‘&quot;‘ 
”’ (single quote) ‘&#039;‘ 
‘<’ (less than) ‘&lt;‘ 
‘>’ (greater than) ‘&gt;‘ 
関連する問題