javax.servlet.jsp.el

Class ScopedAttributeELResolver


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

    This resolver handles all variable resolutions (where base is null. It searches PageContext.findAttribute() for a matching attribute. If not found, it will return null, or 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 Detail

      • ScopedAttributeELResolver

        public ScopedAttributeELResolver()
    • Method Detail

      • getValue

        public Object getValue(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, or null if no attribute exists with the current name.

        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:
        getValue in class 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
        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(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 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
        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(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 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.
        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(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 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.
        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(ELContext context,
                                                                 Object base)
        If the base object is null, returns an Iterator containing FeatureDescriptor objects with information about each scoped attribute resolved by this resolver. Otherwise, returns null.

        The Iterator returned must contain one instance of FeatureDescriptor for 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
      • In addition, the following named attributes must be set in the returned FeatureDescriptors:
      • ELResolver.TYPE - The current runtime type of the scoped attribute.
      • ELResolver.RESOLVABLE_AT_DESIGN_TIME - true.
      • Specified by:
        getFeatureDescriptors in class 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:
        An Iterator containing one FeatureDescriptor object for each scoped attribute, or null if base is not null.
        See Also:
        FeatureDescriptor
      • getCommonPropertyType

        public Class<String> getCommonPropertyType(ELContext context,
                                                   Object base)
        If the base object is null, returns String.class. Otherwise, returns null.
        Specified by:
        getCommonPropertyType in class 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.

Document created the 11/06/2005, last modified the 18/08/2025
Source of the printed document:https://www.gaudry.be/en/java-api-javaee-rf-javax/servlet/jsp/el/ScopedAttributeELResolver.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

References

  1. View the html document Language of the document:fr Manuel PHP : https://docs.oracle.com, ScopedAttributeELResolver (Java(TM) EE 7 Specification APIs)

These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author of this site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.