Spec-Zone .ru
спецификации, руководства, описания, API


Пакет javax.el

Обеспечивает API для Объединенного Языка Выражения 2.2 используемый JSP 2.2 и JSF 2.0 технологии.

См.:
          Описание

Сводка интерфейса
ELContextListener Интерфейс слушателя для того, чтобы получить уведомление, когда ELContext создается.
 

Сводка класса
ArrayELResolver Определяет поведение разрешения свойства на массивах.
BeanELResolver Определяет поведение разрешения свойства на объектах, используя компонентную архитектуру JavaBeans.
BeanELResolver. BeanProperties  
BeanELResolver. BeanProperty  
CompositeELResolver Поддерживает упорядоченный составной список дочернего элемента ELResolvers.
ELContext Контекстная информация для вычисления выражения.
ELContextEvent Событие, которое указывает что ELContext был создан.
ELResolver Включает настройке переменной, свойства и поведения разрешения вызова метода для ЭЛЬ вычисления выражения.
Выражение Базируйте class для подклассов выражения ValueExpression и MethodExpression, реализация characterstics распространенный для обоих.
ExpressionFactory  
FunctionMapper Интерфейс к карте между ЭЛЬ именами функций и методами.
ListELResolver Определяет поведение разрешения свойства на экземплярах List.
MapELResolver Определяет поведение разрешения свойства на экземплярах Map.
MethodExpression Expression это обращается к методу на объекте.
MethodInfo Содержит информацию о методе это a MethodExpression оцененный к.
ResourceBundleELResolver Определяет поведение разрешения свойства на экземплярах ResourceBundle.
ValueExpression Expression это может получить или установить значение.
ValueReference Это инкапсулирует основной объект модели и одно из его свойств.
VariableMapper Интерфейс к карте между ЭЛЬ переменными и ЭЛЬ выражениями они связываются с.
 

Сводка исключения
ELException Представляет любое из условий исключения, которые могут возникнуть во время вычисления выражения.
MethodNotFoundException Брошенный, когда метод не мог быть найден, оценивая a MethodExpression.
PropertyNotFoundException Брошенный, когда свойство не могло быть найдено, оценивая a ValueExpression или MethodExpression.
PropertyNotWritableException Брошенный, когда свойство не могло быть записано, устанавливая значение на a ValueExpression.
 

Пакет javax.el Описание

Обеспечивает API для Объединенного Языка Выражения 2.2 используемый JSP 2.2 и JSF 2.0 технологии.

(ЭЛЬ) Язык Выражения является простым языком, разработанным, чтобы удовлетворить определенные потребности разработчиков веб-приложения. Это в настоящий момент определяется в его собственном документе спецификации в пределах Страниц JavaServer (ТМ) (JSP) 2.2 спецификации, но не имеет никаких зависимостей от любой части JSP 2.2 спецификациями. Это предназначается для общего использования за пределами JSP и спецификаций JSF также.

Этот пакет содержит классы и интерфейсы, которые описывают и определяют программируемый доступ к механизму Языка Выражения. API логически делится следующим образом:

ЭЛЬ Контекст

Важная цель ЭЛЬ состоит в том, чтобы гарантировать, что может использоваться во множестве сред. Это должно поэтому обеспечить достаточную гибкость, чтобы адаптироваться к определенным требованиям среды, где это используется.

Класс ELContext то, что соединяет ЭЛЬ с определенной средой, где она используется. Это обеспечивает механизм, через который определяется весь соответствующий контекст для создания или оценки выражения.

Создание ELContext объектами управляют через базовую технологию. Например, в JSP, JspContext.getELContext() метод фабрики используется.

Немного технологий обеспечивает возможность добавить ELContextListener так, чтобы приложения и платформы могли гарантировать, что их собственные объекты контекста присоединены к любому недавно создаваемому ELContext.

Объекты выражения

В ядре Выражения Язык является понятием выражения, которое анализируется согласно грамматике, определенной Языком Выражения.

Есть два типа выражений, определенных ЭЛЬ: выражения и выражения метода. A ValueExpression такой как "${customer.name}" может использоваться любой в качестве rvalue (возвратите значение, связанное со свойством name из объекта модели customer) или как lvalue (устанавливает значение свойства name из объекта модели customer).

A MethodExpression такой как "${handler.process}" позволяет вызвать метод (process) на определенном объекте модели (handler).

В версии 2.2 любой тип ЭЛЬ выражения может представить вызов метода, такой как ${trader.buy("JAVA")}, где arugments к mothod вызову определяются в выражении.

Все классы выражения расширяют основной class Expression, создание их сериализуемый и то, чтобы вынуждать их реализовать equals() и hashCode(). Morevover, каждый метод на этих классах выражения, который фактически оценивает выражение, получают параметр class ELContext, который обеспечивает контекст, требуемый оценить выражение.

Создание Выражений

Выражение создается через ExpressionFactory class. Фабрика обеспечивает два метода создания; один для каждого типа выражения поддерживается ЭЛЬ.

Чтобы создать выражение, нужно обеспечить ELContext, строка, представляющая выражение, и ожидаемый тип (ValueExpression) или подпись (MethodExpression). ELContext обеспечивает контекст, необходимый, чтобы проанализировать выражение. Определенно, если выражение использует ЭЛЬ функцию (например ${fn:toUpperCase(customer.name)}) или ЭЛЬ переменная, тогда FunctionMapper и VariableMapper объекты должны быть доступными в пределах ELContext так, чтобы ЭЛЬ функции и ЭЛЬ переменные были должным образом отображены.

Разрешение Объектов Модели и их Свойств

Через ELResolver базируйте class, ЭЛЬ функции сменный механизм, чтобы разрешить ссылки на объект модели так же как свойства этих объектов.

ЭЛЬ API обеспечивает реализации ELResolver поддержка разрешения свойства для типов общих данных, которые включают массивы (ArrayELResolver), JavaBeans (BeanELResolver), Lists (ListELResolver), Maps (MapELResolver), и ResourceBundles (ResourceBundleELResolver).

Инструменты могут легко получить больше информации о разрешимых объектах модели и их разрешимых свойствах, вызывая метод getFeatureDescriptors на ELResolver. Этот метод представляет объекты типа java.beans.FeatureDescriptor, предоставление всей информации процента по высокоуровневой модели возражает так же как их свойства.

ЭЛЬ Функции

Если ЭЛЬ выражение использует функцию (например ${fn:toUpperCase(customer.name)}), тогда a FunctionMapper объект должен также быть определен в пределах ELContext. FunctionMapper ответственно карте ${prefix:name()} разработайте функции к статическим методам, которые могут выполнить указанные функции.

ЭЛЬ Переменные

Точно так же как FunctionMapper обеспечивает гибкий механизм, чтобы добавить функции к ЭЛЬ, VariableMapper обеспечивает гибкий механизм, чтобы поддерживать понятие ЭЛЬ переменных.

ЭЛЬ переменная непосредственно не обращается к объекту модели, который может тогда быть разрешен ELResolver. Вместо этого это обращается к ЭЛЬ выражению. Оценку которого ЭЛЬ выражение дает ЭЛЬ переменной свое значение.

Например, в следующем фрагменте кода

<h:inputText value="#{handler.customer.name}"/>
handler обращается к объекту модели, который может быть разрешен ЭЛЬ Преобразователем.

Однако, в этом другом примере:

<c:forEach var="item" items="#{model.list}">
   <h:inputText value="#{item.name}"/>
</c:forEach>
item ЭЛЬ переменная, потому что она не обращается непосредственно к объекту модели. Вместо этого это обращается к другому ЭЛЬ выражению, а именно, определенный элемент в наборе, упомянутом ЭЛЬ выражением #{model.list}.

Assuming that there are three elements in ${model.list}, this means that for each invocation of <h:inputText>, the following information about item must be preserved in the VariableMapper:

first invocation: item maps to first element in ${model.list}
second invocation: item maps to second element in ${model.list}
third invocation: item maps to third element in ${model.list}

VariableMapper provides the mechanisms required to allow the mapping of an EL variable to the EL expression from which it gets its value.



Представьте ошибку или функцию

Copyright © 2009-2011, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.

Generated on 10-February-2011 12:41

free hit counter