Package org.springframework.web.servlet.tags

# Class RequestContextAwareTag

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

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

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
Modifier and Type
Field
Description
`protected final org.apache.commons.logging.Log`
`logger`
Logger available to subclasses.
`static final String`
`REQUEST_CONTEXT_PAGE_ATTRIBUTE`
`PageContext` attribute for the page-level `RequestContext` instance.

### Fields inherited from class jakarta.servlet.jsp.tagext.TagSupport

`id, pageContext`

### Fields inherited from interface jakarta.servlet.jsp.tagext.IterationTag

`EVAL_BODY_AGAIN`

### Fields inherited from interface jakarta.servlet.jsp.tagext.Tag

`EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

## Constructor Summary

Constructors
Constructor
Description
`RequestContextAwareTag()`

## Method Summary

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

### Methods inherited from class jakarta.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 Details

### 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 org.apache.commons.logging.Log logger
Logger available to subclasses.

## Constructor Details

### RequestContextAwareTag

public RequestContextAwareTag()

## Method Details

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