org.springframework.web.servlet.tags.form

## Class CheckboxTag

- java.lang.Object
- - javax.servlet.jsp.tagext.TagSupport
  - - org.springframework.web.servlet.tags.RequestContextAwareTag
    - - org.springframework.web.servlet.tags.HtmlEscapingAwareTag
      - - org.springframework.web.servlet.tags.form.AbstractFormTag
        - - org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag
          - - org.springframework.web.servlet.tags.form.AbstractHtmlElementTag
            - - org.springframework.web.servlet.tags.form.AbstractHtmlInputElementTag
              - - org.springframework.web.servlet.tags.form.AbstractCheckedElementTag
                - - org.springframework.web.servlet.tags.form.AbstractSingleCheckedElementTag
                  - - org.springframework.web.servlet.tags.form.CheckboxTag

- All Implemented Interfaces:
    Serializable, DynamicAttributes, IterationTag, JspTag, Tag, TryCatchFinally, EditorAwareTag

      public class CheckboxTag
      extends AbstractSingleCheckedElementTag

  Databinding-aware JSP tag for rendering an HTML '`input`' element with a '`type`' of '`checkbox`'.

  May be used in one of three different approaches depending on the type of the `bound value`.

  ### Approach One

  When the bound value is of type `Boolean` then the '`input(checkbox)`' is marked as 'checked' if the bound value is `true`. The '`value`' attribute corresponds to the resolved value of the `value` property.

  ### Approach Two

  When the bound value is of type `Collection` then the '`input(checkbox)`' is marked as 'checked' if the configured `value` is present in the bound `Collection`.

  ### Approach Three

  For any other bound value type, the '`input(checkbox)`' is marked as 'checked' if the the configured `value` is equal to the bound value.
  Since:
    2.0
  Author:
    Rob Harrop, Juergen Hoeller
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.springframework.web.servlet.tags.form.AbstractHtmlInputElementTag

      `ACCESSKEY_ATTRIBUTE, DISABLED_ATTRIBUTE, ONBLUR_ATTRIBUTE, ONCHANGE_ATTRIBUTE, ONFOCUS_ATTRIBUTE, READONLY_ATTRIBUTE`

    - ### Fields inherited from class org.springframework.web.servlet.tags.form.AbstractHtmlElementTag

      `CLASS_ATTRIBUTE, DIR_ATTRIBUTE, LANG_ATTRIBUTE, ONCLICK_ATTRIBUTE, ONDBLCLICK_ATTRIBUTE, ONKEYDOWN_ATTRIBUTE, ONKEYPRESS_ATTRIBUTE, ONKEYUP_ATTRIBUTE, ONMOUSEDOWN_ATTRIBUTE, ONMOUSEMOVE_ATTRIBUTE, ONMOUSEOUT_ATTRIBUTE, ONMOUSEOVER_ATTRIBUTE, ONMOUSEUP_ATTRIBUTE, STYLE_ATTRIBUTE, TABINDEX_ATTRIBUTE, TITLE_ATTRIBUTE`

    - ### Fields inherited from class org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag

      `COMMAND_NAME_VARIABLE_NAME, NESTED_PATH_VARIABLE_NAME`

    - ### Fields inherited from class org.springframework.web.servlet.tags.RequestContextAwareTag

      `logger, REQUEST_CONTEXT_PAGE_ATTRIBUTE`

    - ### Fields inherited from class javax.servlet.jsp.tagext.TagSupport

      `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
    `CheckboxTag()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | `getInputType()` Return the type of the HTML input element to generate: "checkbox" or "radio".
    `protected int` | `writeTagContent(TagWriter tagWriter)` Renders the '`input(radio)`' element with the configured `value`.
    `protected void` | `writeTagDetails(TagWriter tagWriter)` Write the details for the given primary tag: i.e.

    - ### Methods inherited from class org.springframework.web.servlet.tags.form.AbstractSingleCheckedElementTag

      `getLabel, getValue, setLabel, setValue`

    - ### Methods inherited from class org.springframework.web.servlet.tags.form.AbstractCheckedElementTag

      `autogenerateId, isValidDynamicAttribute, renderFromBoolean, renderFromValue, renderFromValue`

    - ### Methods inherited from class org.springframework.web.servlet.tags.form.AbstractHtmlInputElementTag

      `getAccesskey, getDisabled, getOnblur, getOnchange, getOnfocus, getReadonly, isDisabled, isReadonly, setAccesskey, setDisabled, setOnblur, setOnchange, setOnfocus, setReadonly, writeOptionalAttributes`

    - ### Methods inherited from class org.springframework.web.servlet.tags.form.AbstractHtmlElementTag

      `getCssClass, getCssErrorClass, getCssStyle, getDir, getDynamicAttributes, getLang, getOnclick, getOndblclick, getOnkeydown, getOnkeypress, getOnkeyup, getOnmousedown, getOnmousemove, getOnmouseout, getOnmouseover, getOnmouseup, getTabindex, getTitle, resolveCssClass, setCssClass, setCssErrorClass, setCssStyle, setDir, setDynamicAttribute, setLang, setOnclick, setOndblclick, setOnkeydown, setOnkeypress, setOnkeyup, setOnmousedown, setOnmousemove, setOnmouseout, setOnmouseover, setOnmouseup, setTabindex, setTitle, writeDefaultAttributes`

    - ### Methods inherited from class org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag

      `convertToDisplayString, doFinally, getBindStatus, getBoundValue, getEditor, getId, getName, getNestedPath, getPath, getPropertyEditor, getPropertyPath, processFieldValue, resolveId, setId, setPath`

    - ### Methods inherited from class org.springframework.web.servlet.tags.form.AbstractFormTag

      `createTagWriter, doStartTagInternal, evaluate, evaluateBoolean, getDisplayString, getDisplayString, isDefaultHtmlEscape, writeOptionalAttribute`

    - ### Methods inherited from class org.springframework.web.servlet.tags.HtmlEscapingAwareTag

      `isHtmlEscape, setHtmlEscape`

    - ### Methods inherited from class org.springframework.web.servlet.tags.RequestContextAwareTag

      `doCatch, doStartTag, getRequestContext`

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

      `doAfterBody, doEndTag, findAncestorWithClass, getParent, getValue, getValues, release, removeValue, setPageContext, setParent, setValue`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CheckboxTag

          public CheckboxTag()

  - ### Method Detail

    - #### writeTagContent

          protected int writeTagContent(TagWriter tagWriter)
                                 throws JspException

      Description copied from class: `AbstractSingleCheckedElementTag`
      Renders the '`input(radio)`' element with the configured `value`. Marks the element as checked if the value matches the `bound value`.
      Overrides:
        `writeTagContent` in class `AbstractSingleCheckedElementTag`
      Returns:
        valid tag render instruction as per `Tag.doStartTag()`.
      Throws:
        `JspException`

    - #### writeTagDetails

          protected void writeTagDetails(TagWriter tagWriter)
                                  throws JspException

      Description copied from class: `AbstractSingleCheckedElementTag`
      Write the details for the given primary tag: i.e. special attributes and the tag's value.
      Specified by:
        `writeTagDetails` in class `AbstractSingleCheckedElementTag`
      Throws:
        `JspException`

    - #### getInputType

          protected String getInputType()

      Description copied from class: `AbstractCheckedElementTag`
      Return the type of the HTML input element to generate: "checkbox" or "radio".
      Specified by:
        `getInputType` in class `AbstractCheckedElementTag`