题
我在JSP代码中偶然发现了一个古怪的东西。似乎双重反斜杠后跟一个美元或百分比符号转换为单个反斜杠(加号)。
即,以下JSP:
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
\\#
\\$
\\%
\\^
呈现为:
\\#
\$
\%
\\^
我正在使用JDK 1.6.0_02和Apache Tomcat 5.5.23和6.0.16(两台机器)。
这是Tomcat中的错误吗? JDK?或者它是否符合JSP规范中的一些模糊选项?我试着查看规范但找不到任何有用的东西。
变通办法是相当简单的,我只是认为我提交了一个错误,如果它是一个。
编辑:嘿,stackoverflow也会破坏反斜杠
解决方案
\ $位于规范中(第JSP.1.6节) )。 <!>“仅当为页面启用了EL时,才能通过\ $引用文字$。
\%可能是因为<!>“<文字<!> <;>引用<!> <; \%<!>引用我怀疑解析器没有检查<!> lt;在\%。
之前不隶属于 StackOverflow