Этот вопрос показывает, что при пересылке информация в объекте запроса обновляется в соответствии с новым файлом. Так, например, когда:
пользовательские запросы "/ abc" -> сервлет вызывается> перенаправляет в /def.jsp
Тогда в def.jsp
${request.requestURI}
будет /def.jsp
, а не /abc
. Если кто-то хочет получить исходный запрошенный URI (или любую другую информацию, такую как путь к сервлету и т. Д.):
request.getAttribute("javax.servlet.forward.request_uri");
Все хорошо, но как я могу получить доступ к этому через JSTL. ${javax.servlet.forward.request_uri}
не работает. Точка считается оператором, а не частью имени. В других случаях это решается заключением имени в квадратные скобки и его цитированием. Но здесь нет объекта карты, и ${['javax.servlet...']}
не работает.
Итак, как?
(я могу поместить его в атрибут «без точки» в сервлете, но это обходной путь)