## org.springframework.web.servlet.tags
Class RequestContextAwareTag

    java.lang.Object
      javax.servlet.jsp.tagext.TagSupport
          org.springframework.web.servlet.tags.RequestContextAwareTag

All Implemented Interfaces:
  Serializable, IterationTag, JspTag, Tag, TryCatchFinally

Direct Known Subclasses:
  HtmlEscapeTag, HtmlEscapingAwareTag

    public abstract class RequestContextAwareTag

extends TagSupport
implements TryCatchFinally

Superclass for all tags that require a `RequestContext`.

The `RequestContext` instance provides easy access to current state like the `WebApplicationContext`, the `Locale`, the `Theme`, etc.

Mainly intended for `DispatcherServlet` requests; will use fallbacks when used outside `DispatcherServlet`.

Author:
  Rod Johnson, Juergen Hoeller
See Also:
  `RequestContext`, `DispatcherServlet`, Serialized Form

Field Summary
`protected Log` `logger` Logger available to subclasses
`static String` `REQUEST_CONTEXT_PAGE_ATTRIBUTE` `PageContext` attribute for the page-level `RequestContext` instance.

Fields inherited from class javax.servlet.jsp.tagext.TagSupport
`id, pageContext`

Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
`EVAL_BODY_AGAIN`

Fields inherited from interface javax.servlet.jsp.tagext.Tag
`EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

Constructor Summary
`RequestContextAwareTag()`

Method Summary
`void` `doCatch(Throwable throwable)`
`void` `doFinally()`
`int` `doStartTag()` Create and expose the current RequestContext.
`protected abstract int` `doStartTagInternal()` Called by doStartTag to perform the actual work.
`protected RequestContext` `getRequestContext()` Return the current RequestContext.

Methods inherited from class javax.servlet.jsp.tagext.TagSupport
`doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setId, setPageContext, setParent, setValue`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### REQUEST_CONTEXT_PAGE_ATTRIBUTE

    public static final String REQUEST_CONTEXT_PAGE_ATTRIBUTE

  `PageContext` attribute for the page-level `RequestContext` instance.

  See Also:
    Constant Field Values

### logger

    protected final Log logger

  Logger available to subclasses

Constructor Detail

### RequestContextAwareTag

    public RequestContextAwareTag()

Method Detail

### doStartTag

    public final int doStartTag()
                         throws JspException

  Create and expose the current RequestContext. Delegates to `doStartTagInternal()` for actual work.

  Specified by:
    `doStartTag` in interface `Tag`
  Overrides:
    `doStartTag` in class `TagSupport`
  Throws:
    `JspException`
  See Also:
    `REQUEST_CONTEXT_PAGE_ATTRIBUTE`, `JspAwareRequestContext`

### getRequestContext

    protected final RequestContext getRequestContext()

  Return the current RequestContext.

### doStartTagInternal

    protected abstract int doStartTagInternal()
                                       throws Exception

  Called by doStartTag to perform the actual work.

  Returns:
    same as TagSupport.doStartTag
  Throws:
    `Exception` - any exception, any checked one other than a JspException gets wrapped in a JspException by doStartTag
  See Also:
    `TagSupport.doStartTag()`

### doCatch

    public void doCatch(Throwable throwable)
                 throws Throwable

  Specified by:
    `doCatch` in interface `TryCatchFinally`
  Throws:
    `Throwable`

### doFinally

    public void doFinally()

  Specified by:
    `doFinally` in interface `TryCatchFinally`