Class ScopedAttributeELResolver
- java.lang.Object
-
- jakarta.el.ELResolver
-
- jakarta.servlet.jsp.el.ScopedAttributeELResolver
-
public class ScopedAttributeELResolver extends jakarta.el.ELResolverDefines variable resolution behavior for scoped attributes.This resolver handles all variable resolutions (where
baseisnull. It searchesPageContext.findAttribute()for a matching attribute. If not found, it will returnnull, or in the case ofsetValueit will create a new attribute in the page scope with the given name.- Since:
- JSP 2.1
- See Also:
ELResolver
-
-
Constructor Summary
Constructors Constructor Description ScopedAttributeELResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class<String>getCommonPropertyType(jakarta.el.ELContext context, Object base)If the base object isnull, returnsString.class.Iterator<FeatureDescriptor>getFeatureDescriptors(jakarta.el.ELContext context, Object base)If the base object isnull, returns anIteratorcontainingFeatureDescriptorobjects with information about each scoped attribute resolved by this resolver.Class<Object>getType(jakarta.el.ELContext context, Object base, Object property)If the base object isnull, returnsObject.classto indicate that any type is valid to set for a scoped attribute.ObjectgetValue(jakarta.el.ELContext context, Object base, Object property)If the base object isnull, searches the page, request, session and application scopes for an attribute with the given name and returns it, ornullif no attribute exists with the current name.booleanisReadOnly(jakarta.el.ELContext context, Object base, Object property)If the base object isnull, returnsfalseto indicate that scoped attributes are never read-only.voidsetValue(jakarta.el.ELContext context, Object base, Object property, Object val)If the base object isnull, sets an existing scoped attribute to the new value, or creates a new scoped attribute if one does not exist by this name.
-
-
-
Method Detail
-
getValue
public Object getValue(jakarta.el.ELContext context, Object base, Object property)
If the base object isnull, searches the page, request, session and application scopes for an attribute with the given name and returns it, ornullif no attribute exists with the current name.The
propertyResolvedproperty of theELContextobject must be set totrueby this resolver before returning if base isnull. If this property is nottrueafter this method is called, the caller should ignore the return value.- Specified by:
getValuein classjakarta.el.ELResolver- Parameters:
context- The context of this evaluation.base- Onlynullis handled by this resolver. Other values will result in an immediate return.property- The name of the scoped attribute to resolve.- Returns:
- If the
propertyResolvedproperty ofELContextwas set totrue, then the scoped attribute; otherwise undefined. - Throws:
NullPointerException- if context isnulljakarta.el.ELException- if an exception was thrown while performing the property or variable resolution. The thrown exception must be included as the cause property of this exception, if available.
-
getType
public Class<Object> getType(jakarta.el.ELContext context, Object base, Object property)
If the base object isnull, returnsObject.classto indicate that any type is valid to set for a scoped attribute.The
propertyResolvedproperty of theELContextobject must be set totrueby this resolver before returning if base isnull. If this property is nottrueafter this method is called, the caller should ignore the return value.- Specified by:
getTypein classjakarta.el.ELResolver- Parameters:
context- The context of this evaluation.base- Onlynullis handled by this resolver. Other values will result in an immediate return.property- The name of the scoped attribute to resolve.- Returns:
- If the
propertyResolvedproperty ofELContextwas set totrue, thenObject.class; otherwise undefined. - Throws:
NullPointerException- if context isnulljakarta.el.ELException- if an exception was thrown while performing the property or variable resolution. The thrown exception must be included as the cause property of this exception, if available.
-
setValue
public void setValue(jakarta.el.ELContext context, Object base, Object property, Object val)If the base object isnull, sets an existing scoped attribute to the new value, or creates a new scoped attribute if one does not exist by this name.If the provided attribute name matches the key of an attribute in page scope, request scope, session scope, or application scope, the corresponding attribute value will be replaced by the provided value. Otherwise, a new page scope attribute will be created with the given name and value.
The
propertyResolvedproperty of theELContextobject must be set totrueby this resolver before returning if base isnull. If this property is nottrueafter this method is called, the caller should ignore the return value.- Specified by:
setValuein classjakarta.el.ELResolver- Parameters:
context- The context of this evaluation.base- Onlynullis handled by this resolver. Other values will result in an immediate return.property- The name of the scoped attribute to set.val- The value for the scoped attribute.- Throws:
NullPointerException- if context isnull.jakarta.el.ELException- if an exception was thrown while performing the property or variable resolution. The thrown exception must be included as the cause property of this exception, if available.
-
isReadOnly
public boolean isReadOnly(jakarta.el.ELContext context, Object base, Object property)If the base object isnull, returnsfalseto indicate that scoped attributes are never read-only.The
propertyResolvedproperty of theELContextobject must be set totrueby this resolver before returning if base isnull. If this property is nottrueafter this method is called, the caller should ignore the return value.- Specified by:
isReadOnlyin classjakarta.el.ELResolver- Parameters:
context- The context of this evaluation.base- Onlynullis handled by this resolver. Other values will result in an immediate return.property- The name of the scoped attribute.- Returns:
- If the
propertyResolvedproperty ofELContextwas set totrue, thenfalse; otherwise undefined. - Throws:
NullPointerException- if context isnull.jakarta.el.ELException- if an exception was thrown while performing the property or variable resolution. The thrown exception must be included as the cause property of this exception, if available.
-
getFeatureDescriptors
public Iterator<FeatureDescriptor> getFeatureDescriptors(jakarta.el.ELContext context, Object base)
If the base object isnull, returns anIteratorcontainingFeatureDescriptorobjects with information about each scoped attribute resolved by this resolver. Otherwise, returnsnull.The
Iteratorreturned must contain one instance ofFeatureDescriptorfor each scoped attribute found in any scope. Each info object contains information about a single scoped attribute, and is initialized as follows:- displayName
- - The name of the scoped attribute.
- name
- - Same as displayName property.
- shortDescription
- - A suitable description for the scoped attribute. Should include the attribute's current scope (page, request, session, application). Will vary by implementation.
- expert
- -
false - hidden
- -
false - preferred
- -
true
FeatureDescriptors:ELResolver.TYPE- - The current runtime type of the scoped attribute.
ELResolver.RESOLVABLE_AT_DESIGN_TIME- -
true.
- Specified by:
getFeatureDescriptorsin classjakarta.el.ELResolver- Parameters:
context- The context of this evaluation.base- Onlynullis handled by this resolver. Other values will result in anullreturn value.- Returns:
- An
Iteratorcontaining oneFeatureDescriptorobject for each scoped attribute, ornullifbaseis notnull.
-
getCommonPropertyType
public Class<String> getCommonPropertyType(jakarta.el.ELContext context, Object base)
If the base object isnull, returnsString.class. Otherwise, returnsnull.- Specified by:
getCommonPropertyTypein classjakarta.el.ELResolver- Parameters:
context- The context of this evaluation.base- Onlynullis handled by this resolver. Other values will result in anullreturn value.- Returns:
nullif base is notnull; otherwiseString.class.
-
-