7

私は、別の API からデータを取得する Java クラスに 2 行の小さな HTML を書き込もうとしています。JSON 文字列でデータを取得し、その一部を Web ページに表示したいと考えています。

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 を含む文字列です。

4

2 に答える 2

7

JSFを使用しているようです。これを試して:

<div id="display">
    <h:outputText value="#{PortalView.fullLeadData}" escape="false"/>
</div>
于 2012-05-01T19:22:34.090 に答える
2

エスケープ シーケンスを置き換える必要がある場合があります。一般的なものは

‘&amp;’ (ampersand)  ‘&amp;amp;‘
‘"’ (double quote)  ‘&amp;quot;‘
”’ (single quote)  ‘&amp;#039;‘
‘&lt;’ (less than)  ‘&amp;lt;‘
‘&gt;’ (greater than)  ‘&amp;gt;‘
于 2012-05-01T19:21:31.943 に答える