El mejor método de programación JSP: Utilizar el atributo escapeXml para conservar el formato HTML
De forma predeterminada, el valor del atributo escapeXml del código JSTL <c:out> es true. Este comportamiento predeterminado garantiza que los caracteres especiales HTML como, por ejemplo<, >, &, ' o ", contenidos en las series de salida se conviertan a sus códigos de entidad de caracteres correspondientes y se visualicen correctamente en la página HTML que genera la página JSP. No obstante, en algunos ejemplos de tienda de HCL Commerce, este comportamiento es contraproducente. Un ejemplo de este tipo es la visualización de precios en las tiendas globalizadas:
<c:out value="${product.listPrice}" />
Dado que el símbolo del yen japonés, , se visualiza utilizando la entidad de caracteres denominada ¥, la conversión predeterminada dará como resultado la visualización del precio de 3.544
que se muestra como ¥3,544.
Para impedir la conversión, debe establecerse escapeXml de forma explícita en false del modo siguiente:
<c:out value="${product.listPrice}" escapeXml="false" />
Otro ejemplo común es visualizar el texto proporcionado por el usuario, por ejemplo, las descripciones de los productos o los mensajes de texto dinámicos. Si espera que los usuarios avanzados utilicen códigos HTML para dar formato, por ejemplo, saltos de líneas o listas numeradas, establezca el atributo escapeXml del código <c:out> que se utiliza para visualizar el texto en false como en el ejemplo siguiente:
<c:out value="${productPromotion.longDescriptionString}" escapeXml="false" />