code: public Object getValue(ELContext context,
                             Object base,
                             Object property) {
  
          if (context == null) {
              throw new NullPointerException();
          }
  
          if (base == null) {
              context.setPropertyResolved(true);
              if (property instanceof String) {
                  String attribute = (String) property;
                  PageContext ctxt = (PageContext)
                                         context.getContext(JspContext.class);
                  return ctxt.findAttribute(attribute);
              }
          }
          return null;
      }
docs: If the base object is <code>null</code>, searches the page,
  request, session and application scopes for an attribute with
  the given name and returns it, or <code>null</code> if no
  attribute exists with the current name.
  
  <p>The <code>propertyResolved</code> property of the
  <code>ELContext</code> object must be set to <code>true</code> by
  this resolver before returning if base is <code>null</code>. If
  this property is not <code>true</code> after this method is called,
  the caller should ignore the return value.</p>
  
  @param context The context of this evaluation.
  @param base Only <code>null</code> is handled by this resolver.
  Other values will result in an immediate return.
  @param property The name of the scoped attribute to resolve.
  @return If the <code>propertyResolved</code> property of
  <code>ELContext</code> was set to <code>true</code>, then
  the scoped attribute; otherwise undefined.
  @throws NullPointerException if context is <code>null</code>
  @throws 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.