Package org.springframework.web.servlet.tags.form

# Class AbstractMultiCheckedElementTag

java.lang.Object
jakarta.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.AbstractMultiCheckedElementTag

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

Direct Known Subclasses:
  `CheckboxesTag`, `RadioButtonsTag`

public abstract class AbstractMultiCheckedElementTag extends AbstractCheckedElementTag
Abstract base class to provide common methods for implementing databinding-aware JSP tags for rendering multiple HTML '`input`' elements with a '`type`' of '`checkbox`' or '`radio`'.

Since:
  2.5.2
Author:
  Juergen Hoeller, Scott Andrews
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

`NESTED_PATH_VARIABLE_NAME`

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

`logger, REQUEST_CONTEXT_PAGE_ATTRIBUTE`

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

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

## Method Summary

Modifier and Type
Method
Description
`String`
`getDelimiter()`
Return the delimiter to be used between each '`input type="radio"`' tag.
`String`
`getElement()`
Get the HTML element used to enclose '`input type="checkbox/radio"`' tag.
`protected String`
`getItemLabel()`
Get the value to be displayed as part of the '`input type="checkbox/radio"`' tag.
`protected Object`
`getItems()`
Get the `Collection`, `Map` or array of objects used to generate the '`input type="checkbox/radio"`' tags.
`protected String`
`getItemValue()`
Get the name of the property mapped to the '`value`' attribute of the '`input type="checkbox/radio"`' tag.
`protected String`
`resolveId()`
Appends a counter to a specified id as well, since we're dealing with multiple HTML elements.
`void`
`setDelimiter(String delimiter)`
Set the delimiter to be used between each '`input type="checkbox/radio"`' tag.
`void`
`setElement(String element)`
Set the HTML element used to enclose the '`input type="checkbox/radio"`' tag.
`void`
`setItemLabel(String itemLabel)`
Set the value to be displayed as part of the '`input type="checkbox/radio"`' tag.
`void`
`setItems(Object items)`
Set the `Collection`, `Map` or array of objects used to generate the '`input type="checkbox/radio"`' tags.
`void`
`setItemValue(String itemValue)`
Set the name of the property mapped to the '`value`' attribute of the '`input type="checkbox/radio"`' tag.
`protected int`
`writeTagContent(TagWriter tagWriter)`
Renders the '`input type="radio"`' element with the configured `setItems(Object)` values.

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

`autogenerateId, getInputType, isValidDynamicAttribute, renderFromBoolean, renderFromValue, renderFromValue`

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

`getAccesskey, getOnblur, getOnchange, getOnfocus, 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, setId, setPath`

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

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

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

`htmlEscape, isHtmlEscape, isResponseEncodedHtmlEscape, setHtmlEscape`

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

`doCatch, doStartTag, getRequestContext`

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

### AbstractMultiCheckedElementTag

public AbstractMultiCheckedElementTag()

## Method Details

### setItems

public void setItems(Object items)
Set the `Collection`, `Map` or array of objects used to generate the '`input type="checkbox/radio"`' tags.

Typically a runtime expression.

Parameters:
  `items` - said items

### getItems

@Nullable protected Object getItems()
Get the `Collection`, `Map` or array of objects used to generate the '`input type="checkbox/radio"`' tags.

### setItemValue

public void setItemValue(String itemValue)
Set the name of the property mapped to the '`value`' attribute of the '`input type="checkbox/radio"`' tag.

May be a runtime expression.

### getItemValue

@Nullable protected String getItemValue()
Get the name of the property mapped to the '`value`' attribute of the '`input type="checkbox/radio"`' tag.

### setItemLabel

public void setItemLabel(String itemLabel)
Set the value to be displayed as part of the '`input type="checkbox/radio"`' tag.

May be a runtime expression.

### getItemLabel

@Nullable protected String getItemLabel()
Get the value to be displayed as part of the '`input type="checkbox/radio"`' tag.

### setDelimiter

public void setDelimiter(String delimiter)
Set the delimiter to be used between each '`input type="checkbox/radio"`' tag.

By default, there is no delimiter.

### getDelimiter

@Nullable public String getDelimiter()
Return the delimiter to be used between each '`input type="radio"`' tag.

### setElement

public void setElement(String element)
Set the HTML element used to enclose the '`input type="checkbox/radio"`' tag.

Defaults to an HTML '`<span/>`' tag.

### getElement

public String getElement()
Get the HTML element used to enclose '`input type="checkbox/radio"`' tag.

### resolveId

@Nullable protected String resolveId() throws JspException
Appends a counter to a specified id as well, since we're dealing with multiple HTML elements.

Overrides:
  `resolveId` in class `AbstractDataBoundFormElementTag`
Throws:
  `JspException`
See Also:
  - `AbstractDataBoundFormElementTag.getId()`
  - `AbstractDataBoundFormElementTag.autogenerateId()`

### writeTagContent

protected int writeTagContent(TagWriter tagWriter) throws JspException
Renders the '`input type="radio"`' element with the configured `setItems(Object)` values. Marks the element as checked if the value matches the bound value.

Specified by:
  `writeTagContent` in class `AbstractCheckedElementTag`
Returns:
  valid tag render instruction as per `Tag.doStartTag()`.
Throws:
  `JspException`