Jsp include, параметр запроса пересылки - PullRequest
3 голосов
/ 20 октября 2010

В моем файле JSP я извлекаю данные из запроса через request.getAttribute().

Внутри этой jsp мне нужно включить другую jsp. Будет ли этот включенный jsp иметь доступ к запросу, или мне нужно как-то переслать данные?

1 Ответ

6 голосов
/ 21 октября 2010

Будет доступно:

  • , если вы делаете статическое включение (<%@ include file=".." %>), тогда тело включенного файла помещается в метод doGet(..) сгенерированногосервлет (каждый JSP преобразуется в сервлет), поэтому логически здесь доступен исходный объект request.

  • , если вы выполняете динамическое включение (<jsp:include>), RequestDispatcher.include(..) используется (за сценой).Как видите, для этого требуется параметр ServletRequest, который будет означать, что исходный запрос будет передан туда.

Наконец, избегайте использования кода Java в файлах JSP.Используйте EL и JSTL.Так что вместо request.getAttribute("x") это будет ${x}.

...