我正在尝试在我的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的字符串。
答案 0 :(得分:7)
好像你正在使用JSF。试试这个:
<div id="display">
<h:outputText value="#{PortalView.fullLeadData}" escape="false"/>
</div>
答案 1 :(得分:1)
您可能需要替换转义序列。
是常见的‘&’ (ampersand) ‘&‘
‘"’ (double quote) ‘"‘
”’ (single quote) ‘'‘
‘<’ (less than) ‘<‘
‘>’ (greater than) ‘>‘