This resolver handles variable resolutions where base
is null
. It searches
PageContext.findAttribute()
for a matching attribute. If not found in the case of
setValue
, it will create a new attribute in the page scope with the given name.
- Since:
- JSP 2.1
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetCommonPropertyType
(ELContext context, Object base) If the base object isnull
, returnsString.class
.If the base object isnull
, returnsObject.class
to indicate that any type is valid to set for a scoped attribute.If the base object isnull
, searches the page, request, session and application scopes for an attribute with the given name and returns it if an attribute exists with the current name.boolean
isReadOnly
(ELContext context, Object base, Object property) If the base object isnull
, returnsfalse
to indicate that scoped attributes are never read-only.void
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.Methods inherited from class jakarta.el.ELResolver
convertToType, invoke
-
Constructor Details
-
ScopedAttributeELResolver
public ScopedAttributeELResolver()
-
-
Method Details
-
getValue
If the base object isnull
, searches the page, request, session and application scopes for an attribute with the given name and returns it if an attribute exists with the current name.The
propertyResolved
property of theELContext
object must be set totrue
by this resolver before returning if a scoped attribute is matched. If this property is nottrue
after this method is called, the caller should ignore the return value.- Specified by:
getValue
in classELResolver
- Parameters:
context
- The context of this evaluation.base
- Onlynull
is handled by this resolver. Other values will result in an immediate return.property
- The name of the scoped attribute to resolve.- Returns:
- If the
propertyResolved
property ofELContext
was set totrue
, then the scoped attribute; otherwise undefined. - Throws:
NullPointerException
- if context isnull
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
If the base object isnull
, returnsObject.class
to indicate that any type is valid to set for a scoped attribute.The
propertyResolved
property of theELContext
object must be set totrue
by this resolver before returning if base isnull
. If this property is nottrue
after this method is called, the caller should ignore the return value.- Specified by:
getType
in classELResolver
- Parameters:
context
- The context of this evaluation.base
- Onlynull
is handled by this resolver. Other values will result in an immediate return.property
- The name of the scoped attribute to resolve.- Returns:
- If the
propertyResolved
property ofELContext
was set totrue
, thenObject.class
; otherwise undefined. - Throws:
NullPointerException
- if context isnull
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
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
propertyResolved
property of theELContext
object must be set totrue
by this resolver before returning if base isnull
. If this property is nottrue
after this method is called, the caller should ignore the return value.- Specified by:
setValue
in classELResolver
- Parameters:
context
- The context of this evaluation.base
- Onlynull
is 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
.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
If the base object isnull
, returnsfalse
to indicate that scoped attributes are never read-only.The
propertyResolved
property of theELContext
object must be set totrue
by this resolver before returning if base isnull
. If this property is nottrue
after this method is called, the caller should ignore the return value.- Specified by:
isReadOnly
in classELResolver
- Parameters:
context
- The context of this evaluation.base
- Onlynull
is handled by this resolver. Other values will result in an immediate return.property
- The name of the scoped attribute.- Returns:
- If the
propertyResolved
property ofELContext
was set totrue
, thenfalse
; otherwise undefined. - Throws:
NullPointerException
- if context isnull
.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.
-
getCommonPropertyType
If the base object isnull
, returnsString.class
. Otherwise, returnsnull
.- Specified by:
getCommonPropertyType
in classELResolver
- Parameters:
context
- The context of this evaluation.base
- Onlynull
is handled by this resolver. Other values will result in anull
return value.- Returns:
null
if base is notnull
; otherwiseString.class
.
-