Class ConditionalTagSupport

java.lang.Object
javax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.jstl.core.ConditionalTagSupport
All Implemented Interfaces:
Serializable, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag

public abstract class ConditionalTagSupport extends javax.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:
  • Field Summary

    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
    Description
    Base constructor to initialize local state.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract boolean
    Subclasses implement this method to compute the boolean result of the conditional action.
    int
    Includes its body if condition() evaluates to true.
    void
    Releases any resources this ConditionalTagSupport may have (or inherit).
    void
    Sets the 'scope' attribute.
    void
    Sets the 'var' attribute.

    Methods inherited from class javax.servlet.jsp.tagext.TagSupport

    doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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 javax.servlet.jsp.JspTagException

      Subclasses 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:
      javax.servlet.jsp.JspTagException
    • doStartTag

      public int doStartTag() throws javax.servlet.jsp.JspException
      Includes its body if condition() evaluates to true.
      Specified by:
      doStartTag in interface javax.servlet.jsp.tagext.Tag
      Overrides:
      doStartTag in class javax.servlet.jsp.tagext.TagSupport
      Throws:
      javax.servlet.jsp.JspException
    • release

      public void release()
      Releases any resources this ConditionalTagSupport may have (or inherit).
      Specified by:
      release in interface javax.servlet.jsp.tagext.Tag
      Overrides:
      release in class javax.servlet.jsp.tagext.TagSupport
    • setVar

      public void setVar(String var)
      Sets the 'var' attribute.
      Parameters:
      var - Name of the exported scoped variable storing the result of condition().
    • setScope

      public void setScope(String scope)
      Sets the 'scope' attribute.
      Parameters:
      scope - Scope of the 'var' attribute