Читать «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;