7

我正在尝试在我的 java 类中编写几行 html,以从另一个 API 获取一些数据。我以 JSON 字符串形式获取数据,然后想在网页上显示其中的一些数据。

要创建 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 回答