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

Fields
`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

Constructors
Constructor and Description
`RequestContextAwareTag()`

### Method Summary

Methods
`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`