Class ScopedAttributeELResolver

java.lang.Object
jakarta.el.ELResolver
jakarta.servlet.jsp.el.ScopedAttributeELResolver

public class ScopedAttributeELResolver extends jakarta.el.ELResolver
Defines variable resolution behavior for scoped attributes.

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:
  • ELResolver
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    getCommonPropertyType(jakarta.el.ELContext context, Object base)
    If the base object is null, returns String.class.
    getType(jakarta.el.ELContext context, Object base, Object property)
    If the base object is null, returns Object.class to indicate that any type is valid to set for a scoped attribute.
    getValue(jakarta.el.ELContext context, Object base, Object property)
    If the base object is null, 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(jakarta.el.ELContext context, Object base, Object property)
    If the base object is null, returns false to indicate that scoped attributes are never read-only.
    void
    setValue(jakarta.el.ELContext context, Object base, Object property, Object val)
    If the base object is null, 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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ScopedAttributeELResolver

      public ScopedAttributeELResolver()
  • Method Details

    • getValue

      public Object getValue(jakarta.el.ELContext context, Object base, Object property)
      If the base object is null, 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 the ELContext object must be set to true by this resolver before returning if a scoped attribute is matched. If this property is not true after this method is called, the caller should ignore the return value.

      Specified by:
      getValue in class jakarta.el.ELResolver
      Parameters:
      context - The context of this evaluation.
      base - Only null 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 of ELContext was set to true, then the scoped attribute; otherwise undefined.
      Throws:
      NullPointerException - if context is null
      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.
    • getType

      public Class<Object> getType(jakarta.el.ELContext context, Object base, Object property)
      If the base object is null, returns Object.class to indicate that any type is valid to set for a scoped attribute.

      The propertyResolved property of the ELContext object must be set to true by this resolver before returning if base is null. If this property is not true after this method is called, the caller should ignore the return value.

      Specified by:
      getType in class jakarta.el.ELResolver
      Parameters:
      context - The context of this evaluation.
      base - Only null 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 of ELContext was set to true, then Object.class; otherwise undefined.
      Throws:
      NullPointerException - if context is null
      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.
    • setValue

      public void setValue(jakarta.el.ELContext context, Object base, Object property, Object val)
      If the base object is null, 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 the ELContext object must be set to true by this resolver before returning if base is null. If this property is not true after this method is called, the caller should ignore the return value.

      Specified by:
      setValue in class jakarta.el.ELResolver
      Parameters:
      context - The context of this evaluation.
      base - Only null 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 is null.
      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 is null, returns false to indicate that scoped attributes are never read-only.

      The propertyResolved property of the ELContext object must be set to true by this resolver before returning if base is null. If this property is not true after this method is called, the caller should ignore the return value.

      Specified by:
      isReadOnly in class jakarta.el.ELResolver
      Parameters:
      context - The context of this evaluation.
      base - Only null 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 of ELContext was set to true, then false; otherwise undefined.
      Throws:
      NullPointerException - if context is null.
      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.
    • getCommonPropertyType

      public Class<String> getCommonPropertyType(jakarta.el.ELContext context, Object base)
      If the base object is null, returns String.class. Otherwise, returns null.
      Specified by:
      getCommonPropertyType in class jakarta.el.ELResolver
      Parameters:
      context - The context of this evaluation.
      base - Only null is handled by this resolver. Other values will result in a null return value.
      Returns:
      null if base is not null; otherwise String.class.