2009-01-08 83 views
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中的一个bug吗? JDK?还是它符合JSP规范中的一些模糊选项?我试着看规格,但找不到任何有用的东西。

变通办法是相当平凡的,我只是想我会提交一个错误的情况下,它是一个。

编辑:嘿,计算器也轧液反斜杠

+0

之前检查<但是不在标题元素中,它在标题和标题之间不同 – davidsheldon 2009-01-08 14:56:07

回答

1

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

\%可能是因为”<%被引用< \%“,我怀疑解析器没有在\%。