\\\\ $ преобразуется в \ $ в данных шаблона jsp
Вопрос
Я просто наткнулся на странность в своем коде 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? Я попытался посмотреть спецификацию, но не смог найти ничего полезного.
Обходные пути довольно тривиальны, я просто подумал, что я могу сообщить об ошибке в случае ее появления.
РЕДАКТИРОВАТЬ : хех, переполнение стека также устраняет обратную косую черту
Решение
\ $ находится в спецификации (раздел JSP.1.6 ). " Только когда EL включен для страницы ...., литерал $ может быть заключен в кавычки \ $.
\%, вероятно, будет потому, что " Литерал <% заключен в кавычки < \% " ;. Я подозреваю, что анализатор не проверяет & Lt; до \%.