2009-01-08 18 views
2

Je viens de trébucher à un étrange dans mon code JSP. Il semble qu'une double barre oblique inverse suivie d'un symbole dollar ou pourcentage soit convertie en une seule barre oblique inverse (symbole plus).

C'est, la JSP suivante:

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %> 
\\# 
\\$ 
\\% 
\\^ 

obtient comme rendu:

\\# 
\$ 
\% 
\\^ 

J'utilise JDK 1.6.0_02 et Apache Tomcat 5.5.23 et 6.0.16 (deux machines).

Est-ce un bug dans Tomcat? JDK? Ou est-ce conforme à une option obscure dans la spécification JSP? J'ai essayé de regarder les spécifications mais je n'ai rien trouvé d'utile.

Les solutions de contournement sont assez triviales, je pensais juste que je déposerais un bug au cas où il en est un.

EDIT: Heh, stackoverflow mutile aussi antislashs

+0

Mais pas dans l'élément titre, c'est différent entre le titre et le titre – davidsheldon

Répondre

1

\ $ est dans la spec (section JSP.1.6). "Seulement quand EL est activé pour la page ...., un $ peut être cité par \ $. l'analyseur ne vérifie pas le < avant le \ 0 ..