## javax.servlet.jsp.jstl.core
Class ConditionalTagSupport

    java.lang.Object
      javax.servlet.jsp.tagext.TagSupport
          javax.servlet.jsp.jstl.core.ConditionalTagSupport

All Implemented Interfaces:
  Serializable, IterationTag, JspTag, Tag

Direct Known Subclasses:
  IfTag, IfTag, IfTag, WhenTagSupport

    public abstract class ConditionalTagSupport

extends 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 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
`ConditionalTagSupport()` Base constructor to initialize local state.

Method Summary
`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 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 Detail

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

### condition

    protected abstract boolean condition()
                                  throws 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:
    `JspTagException`

### doStartTag

    public int doStartTag()
                   throws JspException

  Includes its body if `condition()` evaluates to true.

  Specified by:
    `doStartTag` in interface `Tag`
  Overrides:
    `doStartTag` in class `TagSupport`
  Returns:
    SKIP_BODY
  Throws:
    `JspException` - if an error occurs while processing this tag
  See Also:
    `Tag.doStartTag()`

### release

    public void release()

  Releases any resources this ConditionalTagSupport may have (or inherit).

  Specified by:
    `release` in interface `Tag`
  Overrides:
    `release` in class `TagSupport`
  See Also:
    `Tag.release()`

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

Copyright © 2008 Mort Bay Consulting. All Rights Reserved.