Читать «Java 7 (Наиболее полное руководство)» онлайн - страница 431

Ильдар Шаукатович Хабибуллин

В выражениях можно использовать данные типов boolean, long, float и строковые константы, заключенные в кавычки или апострофы. Значение null считается отдельным типом.

С данными этих типов можно выполнять арифметические операции +, -, *, /, %, сравнения ==, !=, <, >, <=, >=, логические операции !, &&, || и условную операцию ?:. Интересно, что сравнения "равно", "не равно", "меньше", "больше", "меньше или равно", "больше или равно" можно записать не только специальными символами, но и сокращениями eq, ne, lt, gt, le, ge слов "equal", "not equal", "less than", "greater", "less than or equal", "greater or equal". Это позволяет оставить знаки "больше" и "меньше" только для записи тегов XML. По аналогии операцию деления можно записать словом div, операцию взятия остатка от деления — словом mod, а логические операции — словами not, and и or.

В выражениях можно обращаться к переменным, например ${name}, полям и методам объектов, например ${pageContext.request.requestURI}. В выражениях языка JSP EL можно использовать следующие предопределенные объекты:

□ pageContext — объект типа PageContext;

□ pageScope — объект типа Map, содержащий атрибуты страницы и их значения;

□ requestScope — объект типа Map, содержащий атрибуты запроса и их значения;

□ sessionScope — объект типа Map, содержащий атрибуты сеанса и их значения;

□ applicationScope — объект типа Map, содержащий атрибуты приложения и их значения;

□ param — объект типа Map, содержащий параметры запроса, получаемые в сервлетах методом ServletRequest. getParameter (String name);

□ paramValues — объект типа Map, содержащий параметры запроса, получаемые в сервлетах методом ServletRequest.getParameterValues(String name);

□ header — объект типа Map, содержащий заголовки запроса, получаемые в сервлетах методом ServletRequest. getHeader (String name);

□ headerValues — объект типа Map, содержащий заголовки запроса, получаемые в сервлетах методом ServletRequest.getHeaders(String name);

□ initParam — объект типа Map, содержащий параметры инициализации контекста, получаемые в сервлетах методом ServletContext.getInitParameter(String name);

□ cookie — объект типа Map, содержащий имена и объекты типа Cookie.

Наконец, в выражениях языка JSP EL можно записывать вызовы функций.

Встроенные объекты JSP

Каждая страница JSP может содержать в выражениях и скриптлетах девять готовых встроенных объектов, создаваемых контейнером JSP при выполнении сервлета, полученного после компиляции страницы JSP. Мы уже использовали объекты request и

exception. У этих объектов заданы определенные имена и типы. В большинстве случаев заданы не точные типы объектов, а их суперклассы и интерфейсы:

□ request — объект типа ServletRequest, чаще всего это объект типа HttpServletRequest;

□ response — объект типа ServletResponse, обычно это объект типа HttpServletResponse;

□ config — объект типа ServletConfig;

□ application — объект типа ServletContext;

□ session — объект типа HttpSession;

□ pageContext — объект типа PageContext;

□ out — выходной поток типа JspWriter;