Package jakarta.servlet.jsp.jstl.core
Class ConditionalTagSupport
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.jstl.core.ConditionalTagSupport
- All Implemented Interfaces:
jakarta.servlet.jsp.tagext.IterationTag
,jakarta.servlet.jsp.tagext.JspTag
,jakarta.servlet.jsp.tagext.Tag
,Serializable
public abstract class ConditionalTagSupport
extends jakarta.servlet.jsp.tagext.TagSupport
Abstract class that facilitates implementation of conditional actions where the boolean result is exposed as a JSP scoped variable. The boolean result may then be used as the test condition in a <c:when> action.
This base class provides support for:
- Conditional processing of the action's body based on the returned value of the abstract method condition().
- Storing the result of condition() as a Boolean object into a JSP scoped variable identified by attributes var and scope.
- Author:
- Shawn Bayern
- See Also:
- Serialized Form
-
Field Summary
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 ConditionalTagSupport()
Base constructor to initialize local state. -
Method Summary
Modifier and Type Method Description protected abstract boolean
condition()
Subclasses implement this method to compute the boolean result of the conditional action.int
doStartTag()
Includes its body if condition() evaluates to true.void
release()
Releases any resources this ConditionalTagSupport may have (or inherit).void
setScope(String scope)
Sets the 'scope' attribute.void
setVar(String var)
Sets the 'var' attribute.Methods inherited from class jakarta.servlet.jsp.tagext.TagSupport
doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
-
Constructor Details
-
ConditionalTagSupport
public ConditionalTagSupport()Base constructor to initialize local state. As with TagSupport, subclasses should not implement constructors with arguments, and no-argument constructors implemented by subclasses must call the superclass constructor.
-
-
Method Details
-
condition
protected abstract boolean condition() throws jakarta.servlet.jsp.JspTagExceptionSubclasses implement this method to compute the boolean result of the conditional action. This method is invoked once per tag invocation by doStartTag().
- Returns:
- a boolean representing the condition that a particular subclass uses to drive its conditional logic.
- Throws:
jakarta.servlet.jsp.JspTagException
-
doStartTag
public int doStartTag() throws jakarta.servlet.jsp.JspExceptionIncludes its body if condition() evaluates to true.- Specified by:
doStartTag
in interfacejakarta.servlet.jsp.tagext.Tag
- Overrides:
doStartTag
in classjakarta.servlet.jsp.tagext.TagSupport
- Throws:
jakarta.servlet.jsp.JspException
-
release
public void release()Releases any resources this ConditionalTagSupport may have (or inherit).- Specified by:
release
in interfacejakarta.servlet.jsp.tagext.Tag
- Overrides:
release
in classjakarta.servlet.jsp.tagext.TagSupport
-
setVar
Sets the 'var' attribute.- Parameters:
var
- Name of the exported scoped variable storing the result of condition().
-
setScope
Sets the 'scope' attribute.- Parameters:
scope
- Scope of the 'var' attribute
-