2012-05-01 10 views
7

Estoy tratando de escribir un par de líneas pequeñas de html en mi clase java que obtiene algunos datos de otra API. Obtengo los datos en una cadena JSON, y luego me gustaría mostrar algunos de ellos en una página web.Escribiendo html en una cadena

Para crear el código HTML, trato:

 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(); 

Pero lo que termina siendo visualizado es una interpretación literal de las etiquetas HTML. ¿Hay alguna manera de que pueda crear esta cadena para que las etiquetas permanezcan como etiquetas y no como los caracteres escapados?

La clase Java es un bean gestionado, por lo que en el html tengo:

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

Dónde fullLeadData es la cadena con el html.

+1

¿Qué exactamente está tratando de mostrar este texto? –

+0

actualicé mi publicación, mostrando en esa página web –

+0

concatenar cadenas dentro del método de agregar no es una muy buena práctica. – ChadNC

Respuesta

7

Parece que está utilizando JSF. Pruebe esto:

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

¡Gracias increíbles, Gamb! –

1

Es posible que tenga que reemplazar las secuencias de escape. Los más comunes son

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