В моем файле JSP я извлекаю данные из запроса через request.getAttribute().
request.getAttribute()
Внутри этой jsp мне нужно включить другую jsp. Будет ли этот включенный jsp иметь доступ к запросу, или мне нужно как-то переслать данные?
Будет доступно:
, если вы делаете статическое включение (<%@ include file=".." %>), тогда тело включенного файла помещается в метод doGet(..) сгенерированногосервлет (каждый JSP преобразуется в сервлет), поэтому логически здесь доступен исходный объект request.
<%@ include file=".." %>
doGet(..)
request
, если вы выполняете динамическое включение (<jsp:include>), RequestDispatcher.include(..) используется (за сценой).Как видите, для этого требуется параметр ServletRequest, который будет означать, что исходный запрос будет передан туда.
<jsp:include>
RequestDispatcher.include(..)
ServletRequest
Наконец, избегайте использования кода Java в файлах JSP.Используйте EL и JSTL.Так что вместо request.getAttribute("x") это будет ${x}.
request.getAttribute("x")
${x}