Вопрос

Я просто наткнулся на странность в своем коде 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; до \%.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top