java - ¿Cómo codificar HTML en el lenguaje de expresión JSP?
html-encode (1)
Utilice fn:escapeXml()
.
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<param name="FlashVars" value="${fn:escapeXml(flashVars)}" />
Considere la siguiente pieza de JSP:
<param name="FlashVars" value="${flashVars}" />
El valor de ${flashVars}
contiene ampersands y debe codificarse antes de su salida. En cambio, JSP espera que el valor de ${flashVars}
sea una pieza de HTML y genere los ampersands verbatim, lo que resulta en un HTML incorrecto.
Descubrí que puedo obtener el valor para ser codificado si lo escribo así:
<param name="FlashVars" value="<c:out value="${flashVars}"/>" />
Pero esto se ve realmente feo y confunde mi IDE para arrancar. ¿Hay una mejor manera de obtener el mismo resultado?