2

我只是在我的 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 也破坏了反斜杠

4

1 回答 1

1

\$ 在规范中(第 JSP.1.6 节)。“只有当页面启用了 EL 时......,文字​​ $ 才能被 \$ 引用。

\% 可能是因为“<\% 引用了文字 <%”。我怀疑解析器没有在 \% 之前检查 <。

于 2009-01-08T16:14:14.137 回答