我在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;在\%。

之前
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top