Paquete javax.el

Omitir enlaces de navegación

Overview
Package
Class
Use
Tree
Deprecated
Index
Help

Prev Package
Next Package

Frames
No Frames

El paquete javax.el
proporciona la API para Unified Expression Language 3.0

Ver la descripción

Interface Summary Interface 	Description
ELContextListener 	
The listener interface for receiving notification when an ELContext is created.
Class Summary Class 	Description
ArrayELResolver 	
Defines property resolution behavior on arrays.
BeanELResolver 	
Defines property resolution behavior on objects using the JavaBeans component architecture.
BeanNameELResolver 	
An ELResolver for resolving user or container managed beans.
BeanNameResolver 	
Resolves a bean by its known name.
CompositeELResolver 	
Maintains an ordered composite list of child ELResolvers.
ELClass 	
A runtime representation of a Class in the EL expressions.
ELContext 	
Context information for expression parsing and evaluation.
ELContextEvent 	
An event which indicates that an ELContext has been created.
ELManager 	
Manages EL parsing and evaluation environment.
ELProcessor 	
Provides an API for using EL in a stand-alone environment.
ELResolver 	
Enables customization of variable, property, method call, and type conversion resolution behavior for EL expression evaluation.
EvaluationListener 	
The listener interface for receiving notification when an EL expression is evaluated.
Expression 	
Base class for the expression subclasses ValueExpression and MethodExpression, implementing characteristics common to both.
ExpressionFactory 	
Provides an implementation for creating and evaluating EL expressions.
FunctionMapper 	
The interface to a map between EL function names and methods.
ImportHandler 	
Handles imports of class names and package names.
LambdaExpression 	
Encapsulates a parameterized ValueExpression.
ListELResolver 	
Defines property resolution behavior on instances of List.
MapELResolver 	
Defines property resolution behavior on instances of Map.
MethodExpression 	
An Expression that refers to a method on an object.
MethodInfo 	
Holds information about a method that a MethodExpression evaluated to.
ResourceBundleELResolver 	
Defines property resolution behavior on instances of ResourceBundle.
StandardELContext 	
A standard ELContext suitable for use in a stand alone environment.
StaticFieldELResolver 	
An ELResolver for resolving static fields, enum constants and static methods.
TypeConverter 	
A convenient class for writing an ELResolver to do custom type conversions.
ValueExpression 	
An Expression that can get or set a value.
ValueReference 	
This encapsulates a base model object and one of its properties.
VariableMapper 	
The interface to a map between EL variables and the EL expressions they are associated with.
Exception Summary Exception 	Description
ELException 	
Represents any of the exception conditions that can arise during expression evaluation.
MethodNotFoundException 	
Thrown when a method could not be found while evaluating a MethodExpression.
PropertyNotFoundException 	
Thrown when a property could not be found while evaluating a ValueExpression or MethodExpression.
PropertyNotWritableException 	
Thrown when a property could not be written to while setting the value on a ValueExpression.

Paquete javax.el Descripción
Proporciona la API para Unified Expression Language 3.0

El lenguaje de expresión (EL) es un lenguaje simple diseñado originalmente para satisfacer las necesidades específicas de los desarrolladores de aplicaciones web. Se ha desarrollado en su propia especificación destinada para uso general dentro y fuera de los contenedores web.

Este paquete contiene las clases e interfaces que describen y definen el acceso programático al motor de Expression Language. La API está particionada lógicamente de la siguiente manera:

EL Context
Expression Objects
Creation of Expressions
Evaluation of Expressions
Evaluation Listeners
Resolution of Model Objects and their Properties
EL Functions
EL Variables
EL in Stand-alone environment

EL Context

Un objetivo importante del EL es garantizar que se pueda utilizar en una variedad de entornos. Por lo tanto, debe proporcionar suficiente flexibilidad para adaptarse a los requisitos específicos del entorno donde se está utilizando.

La clase ELContext es lo que vincula el EL con el entorno específico donde se está utilizando. Proporciona el mecanismo a través del cual se especifica todo el contexto relevante para crear o evaluar una expresión.

Cuando EL se usa en un contenedor web, la creación de objetos ELContext se controla a través de la tecnología subyacente. Por ejemplo, en JSP, se utiliza el método de fábrica JspContext.getELContext (). En un entorno autónomo, se proporciona un StandardELContext predeterminado.

Algunas tecnologías brindan la capacidad de agregar un ELContextListener para que las aplicaciones y los marcos puedan garantizar que sus propios objetos de contexto estén unidos a cualquier ELContext recién creado.
Objetos de expresión

En el núcleo del lenguaje de expresión está la noción de una expresión que se analiza de acuerdo con la gramática definida por el lenguaje de expresión.

Hay dos tipos de expresiones definidas por el EL: expresiones de valor y expresiones de método. Una ValueExpression como "$ {customer.name}" se puede usar como un valor r (devolver el valor asociado con el nombre de propiedad del cliente del objeto modelo) o como un valor l (establecer el valor del nombre de propiedad del cliente del objeto modelo )

Una expresión de método como "$ {handler.process}" hace posible invocar un método (proceso) en un objeto de modelo específico (controlador).

En la versión 2.2 y posteriores, cualquier tipo de expresión EL puede representar una invocación de método, como $ {trader.buy ("JAVA")}, donde las disposiciones de la invocación del método se especifican en la expresión.

Todas las clases de expresión amplían la expresión de clase base, haciéndolas serializables y forzándolas a implementar equals () y hashCode (). Además, cada método en estas clases de expresión que realmente evalúa una expresión recibe un parámetro de la clase ELContext, que proporciona el contexto requerido para evaluar la expresión.
Creación de expresiones

Se crea una expresión a través de la clase ExpressionFactory. La fábrica proporciona dos métodos de creación; uno para cada tipo de expresión compatible con EL.

Para crear una expresión, se debe proporcionar un ELContext, una cadena que represente la expresión y el tipo esperado (ValueExpression) o firma (MethodExpression). El ELContext proporciona el contexto necesario para analizar una expresión. Específicamente, si la expresión usa una función EL (por ejemplo, $ {fn: toUpperCase (customer.name)}) o una variable EL, los objetos FunctionMapper y VariableMapper deben estar disponibles dentro del ELContext para que las funciones EL y las variables EL estén correctamente asignadas .
Evaluación de expresiones

La creación y la evaluación de una expresión se realizan en dos pasos separados. En la evaluación de una expresión, el ELContext proporciona el contexto necesario para admitir la resolución de propiedades y métodos para objetos modales.

Una expresión diferida es aquella que se crea pero no se evalúa de inmediato. En un ciclo de vida de procesamiento de solicitud JSF, las expresiones EL generalmente se crean en la fase de construcción del árbol y se evalúan en la frase de representación.

Agregar parámetros a una ValueExpression mejora aún más el poder de las expresiones diferidas. LambdaExpression encapsula dicha construcción. Se puede invocar una LambdaExpression suministrando los parámetros reales en la evaluación. Desempeña un papel importante en el soporte para operadores de colecciones.
Oyentes de evaluación

Al registrar EvaluationListeners en ELContext, un usuario puede recibir notificaciones durante las evaluaciones de expresión EL. Hay tres eventos que activan la notificación:

Before evaluation
After evaluation
When (base, property) is resolved

Resolución de objetos modelo y sus propiedades

A través de la clase base ELResolver, EL presenta un mecanismo conectable para resolver referencias de objetos de modelo, así como propiedades e invocaciones de métodos de estos objetos.

El API de EL proporciona implementaciones de ELResolver que admite la resolución de propiedades para tipos de datos comunes que incluyen matrices (ArrayELResolver), JavaBeans (BeanELResolver), Listas (ListELResolver), Mapas (MapELResolver) y ResourceBundles (ResourceBundleELResolver).

Las herramientas pueden obtener fácilmente más información sobre los objetos de modelo resolubles y sus propiedades resolubles llamando al método getFeatureDescriptors en ELResolver. Este método expone objetos de tipo java.beans.FeatureDescriptor, proporcionando toda la información de interés sobre los objetos del modelo de nivel superior, así como sus propiedades.
Funciones EL

Si una expresión EL usa una función (por ejemplo $ {fn: toUpperCase (customer.name)}), entonces un objeto FunctionMapper también debe especificarse dentro del ELContext. FunctionMapper es responsable de asignar funciones de estilo $ {prefix: name ()} a métodos estáticos que pueden ejecutar las funciones especificadas.
Variables EL

Al igual que FunctionMapper proporciona un mecanismo flexible para agregar funciones al EL, VariableMapper proporciona un mecanismo flexible para admitir la noción de variables EL.

Una variable EL no se refiere directamente a un objeto modelo que luego puede ser resuelto por un ELResolver. En cambio, se refiere a una expresión EL. La evaluación de esa expresión EL le da a la variable EL su valor.

Por ejemplo, en el siguiente fragmento de código

<h:inputText value="#{handler.customer.name}"/> 

controlador se refiere a un objeto modelo que puede ser resuelto por un EL Resolver.

Sin embargo, en este otro ejemplo:

<c:forEach var="item" items="#{model.list}">
   <h:inputText value="#{item.name}"/>
</c:forEach>

El elemento es una variable EL porque no se refiere directamente a un objeto modelo. En cambio, se refiere a otra expresión EL, es decir, un elemento específico en la colección a la que se refiere la expresión EL # {model.list}.

Suponiendo que hay tres elementos en $ {model.list}, esto significa que para cada invocación de <h: inputText>, la siguiente información sobre el elemento debe conservarse en el 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 proporciona los mecanismos necesarios para permitir la asignación de una variable EL a la expresión EL de la que obtiene su valor.
EL en un entorno independiente

EL 3.0 incluye API para usar EL en un entorno autónomo.

ELProcessor proporciona API simples para las evaluaciones directas de expresiones. También facilita la definición de funciones, el establecimiento de variables y la definición de beans localmente.

ELManager proporciona una API de nivel inferior para administrar el entorno de análisis y evaluación de EL. Contiene un ELContext StandardELContext predeterminado.
Omitir enlaces de navegación

Overview
Package
Class
Use
Tree
Deprecated
Index
Help

Prev Package
Next Package

Frames
No Frames

Copyright © 1996-2017, Oracle y / o sus filiales. Todos los derechos reservados. Uso sujeto a los términos de la licencia.

Publicado 133 artículos originales · elogiado 191 · 20,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/blog_programb/article/details/105688527
Recomendado
Clasificación