Электронный магазин на Java и XML

       

Доступ к стандартным переменным


В классе PageContext предусмотрены методы для получения ссылок на стандартные (неявные) переменные JSP, которые перечислены в табл. А.20. Поскольку эти переменные автоматически определены в вашей JSP-странице (в методе _jspService()), методы, перечисленные в табл. А.22, используются в основном в других классах.

Таблица А.22. Методы класса PageContext, предназначенные для получения неявных переменных

Неявная переменная

Тип



Метод PageContext

exception

out

page

request

response

config

application

session

Exception

JspWriter

Object

ServletRequest

ServletResponse

ServletConfig

ServletContext

HttpSession

getException()

getOut()

getPage()

getRequest()

getResponse()

getServletConfig()

getServletContext()

getSession()

В табл. А.23 перечислены методы класса PageContext, которые используются для извлечения различных объектов. Обратите внимание на то, что переменные области видимости являются ссылками на константы класса PageContext (см. табл. А.25).

Таблица А.23. Методы класса PageContext, связанные с хранением и извлечением атрибутов

Тип возвращаемого значения

Метод

Описание

Object getAttribute(String name) Возвращает объект, связанный с указанным именем, областью видимости которого является страница. Если такой объект на странице не обнаружено, возвращается null
void removeAttribute (String name) Объект с указанным именем, относящийся к любой области видимости, удаляется
void setAttribute (String name, Object attribute) Возвращает объект, который становится атрибутом страницы с именем name и значением attribute
Object getAttribute (String name, int scope) Возвращает объект, связанный с указанным именем, в заданной области видимости. Если в этой области объект с таким именем не обнаружен, возвращается null
void removeAttri bute (String name, int scope) Удаляет объект, связанный с данным именем
void setAttribute(String name. Object obj. int scope) Возвращает объект, который становится атрибутом с именем name и значением obj. Область видимости задается параметром scope
Enumeration getAttri buteNames I nScope (int scope) Возвращает перечисление объектов типа String, которые являются атрибутами с указанной областью видимости
int getAttri buteScope (String name) Возвращает область видимости атрибута с указанным именем
Object findAttribute(String name) Ищет атрибут с заданным именем последовательно в странице, запросе, сеансе (если он существует) и приложении. Возвращает значение атрибута или mil 1 , если такой атрибут не обнаружен
<
В табл. А. 24 перечислены методы класса PageContext, которые не вошли ни в одну из приведенных выше категорий.



Таблица А.24. Остальные методы класса PageContext



Тип возвращаемого значения


Метод


Описание
void forward (String relativeUrlPath) Переадресует текущие объекты классов ServletRequest и Servl etResponse другому активному компоненту приложения
void hand! ePageExcepti on (Exception e) Этот метод вызывается из раздела try- catch, который включает в себя код вашей JSP-страницы. Он переадресует исключение специальной странице ошибок для данной JSP-страницы или, если она отсутствует, выполняет определенное на этот случай действие
void include (String relativeUrlPath) Указанный ресурс обрабатывается как часть текущих объектов классов ServletRequest и ServletResponse
void initialize(Servlet serlet, ServletRequest request, ServletResponse response. String errorPageURL, boolean needsSession, int bufferSize, boolean authFlush) Метод вызывается для инициализации объекта PageContext, чтобы его можно было использовать в классе реализации JSP для обслуживания входящих запросов и ответов в методе jspService. Вызов метода осуществляется процессором JSP
JspWriter popBody() Возвращает предыдущий объект out класса JspWriter, который был сохранен в соответствующем методе pushBody(), а затем обновляет значение атрибута out в пространстве имен атрибутов PageContext с областью видимости, равной странице
BodyContent pushBody() Возвращает новый объект BodyContent, сохраняет текущий объект out класса JspWriter и обновляет значение атрибута out в пространстве имен атрибутов PageContext с областью видимости, равной странице
void release() Восстанавливает исходное состояние объекта PageContext, чтобы он мог быть повторно использован. Вызов этого метода осуществляется процессором JSP
В классе PageContext определено некоторое количество констант, в основном относящихся к определению области видимости. Эти константы приведены в табл. А.25.





Таблица А.25. Константы, определенные в классе PageContext



Тип


Имя


Описание
String APPLICATION Имя, используемое для хранения объекта класса Servl etContext в таблице имен PageContext
int APPLICATION_SCOPE Область видимости — приложение: ссылка в классе Servl etContext остается доступной, пока приложение не будет запущено заново
String CONFIG Имя, используемое для хранения объекта класса Servl etContext в таблице имен PageContext
String EXCEPTION Имя, используемое для хранения не перехваченного исключения
Stri ng OUT Имя, используемое для хранения текущего объекта класса JspWriter в таблице имен PageContext
String PAGE Имя, используемое для хранения объекта класса Servlet в таблице имен PageContext
int PAGE_SCOPE Область видимости — страница (задается по умолчанию): ссылка остается доступной в данном классе PageContext до окончания выполнения метода serviceO сервлета
String PAGECONTEXT Имя, используемое для хранения объекта класса PageContext в его собственной таблице имен
String REQUEST Имя, используемое для хранения объекта класса ServletRequest в таблице имен PageContext
int REQUEST_SCOPE Область видимости — запрос: ссылка остается доступной в объекте ServletRequest, связанном сданным сервлетом, пока не будет выполнен текущий запрос
String RESPONSE Имя, используемое для хранения объекта класса ServletResponse в таблице имен PageContext
String SESSION Имя, используемое для хранения объекта класса HttpSession в таблице имен PageContext
int SESSIONJCOPE Область видимости — сеанс (только в том случае, если страница участвует в сеансе): ссылка остается доступной в объекте HttpSession (если он существует), связанном с сервлетом, пока объект HttpSession не станет недействительным





Содержание раздела