org.springframework.web.servlet.tags.form
Class AbstractMultiCheckedElementTag

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagSupport
      extended by org.springframework.web.servlet.tags.RequestContextAwareTag
          extended by org.springframework.web.servlet.tags.HtmlEscapingAwareTag
              extended by org.springframework.web.servlet.tags.form.AbstractFormTag
                  extended by org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag
                      extended by org.springframework.web.servlet.tags.form.AbstractHtmlElementTag
                          extended by org.springframework.web.servlet.tags.form.AbstractHtmlInputElementTag
                              extended by org.springframework.web.servlet.tags.form.AbstractCheckedElementTag
                                  extended by org.springframework.web.servlet.tags.form.AbstractMultiCheckedElementTag
All Implemented Interfaces:
Serializable, DynamicAttributes, IterationTag, JspTag, Tag, TryCatchFinally, 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
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
AbstractMultiCheckedElementTag()
           
 
Method Summary
 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, 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, 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

AbstractMultiCheckedElementTag

public AbstractMultiCheckedElementTag()
Method Detail

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

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

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

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

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

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