\\\\ $ convertido a \ $ en datos de plantilla jsp
Pregunta
Me topé con una rareza en mi código JSP. Parece que una barra invertida doble seguida de un símbolo de dólar o porcentaje se convierte en una barra invertida simple (símbolo más).
Es decir, el siguiente JSP:
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
\\#
\\$
\\%
\\^
se representa como:
\\#
\$
\%
\\^
Estoy usando JDK 1.6.0_02 y Apache Tomcat 5.5.23 y 6.0.16 (dos máquinas).
¿Es esto un error en Tomcat? JDK? ¿O se ajusta a alguna opción oscura en la especificación JSP? Intenté mirar la especificación pero no pude encontrar nada útil.
Las soluciones son bastante triviales, solo pensé en presentar un error en caso de que sea uno.
EDITAR : Je, stackoverflow también reduce las barras invertidas
Solución
\ $ está en la spec (Sección JSP.1.6 ) " Solo cuando EL está habilitado para la página ..., un $ literal puede ser citado por \ $.
\% probablemente sea porque " Un literal <% es citado por < \% " ;. Sospecho que el analizador no está buscando el & Lt; antes del \%.