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

java.lang.Object
  extended by 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.OptionsTag
All Implemented Interfaces:
EditorAwareTag

public class OptionsTag
extends AbstractHtmlElementTag

Convenient tag that allows one to supply a collection of objects that are to be rendered as 'option' tags within a 'select' tag.

Must be used within a 'select' tag.

Since:
2.0
Author:
Rob Harrop, Juergen Hoeller, Scott Andrews

Nested Class Summary
private  class OptionsTag.OptionsWriter
          Inner class that adapts OptionWriter for multiple options to be rendered.
 
Field Summary
private  java.lang.String disabled
           
private  java.lang.String itemLabel
          The name of the property mapped to the inner text of the 'option' tag.
private  java.lang.Object items
          The Collection, Map or array of objects used to generate the inner 'option' tags.
private  java.lang.String itemValue
          The name of the property mapped to the 'value' attribute of the 'option' tag.
 
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
 
Constructor Summary
OptionsTag()
           
 
Method Summary
protected  BindStatus getBindStatus()
          Get the BindStatus for this tag.
protected  java.lang.String getDisabled()
          Get the value of the 'disabled' attribute.
protected  java.lang.String getItemLabel()
          Get the name of the property mapped to the label (inner text) of the 'option' tag.
protected  java.lang.Object getItems()
          Get the Collection, Map or array of objects used to generate the inner 'option' tags.
protected  java.lang.String getItemValue()
          Return the name of the property mapped to the 'value' attribute of the 'option' tag.
private  SelectTag getSelectTag()
           
protected  boolean isDisabled()
          Is the current HTML tag disabled?
protected  java.lang.String resolveId()
          Appends a counter to a specified id, since we're dealing with multiple HTML elements.
 void setDisabled(java.lang.String disabled)
          Set the value of the 'disabled' attribute.
 void setItemLabel(java.lang.String itemLabel)
          Set the name of the property mapped to the label (inner text) of the 'option' tag.
 void setItems(java.lang.Object items)
          Set the Collection, Map or array of objects used to generate the inner 'option' tags.
 void setItemValue(java.lang.String itemValue)
          Set the name of the property mapped to the 'value' attribute of the 'option' tag.
protected  int writeTagContent(TagWriter tagWriter)
          Subclasses should implement this method to perform tag content rendering.
 
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, isValidDynamicAttribute, resolveCssClass, setCssClass, setCssErrorClass, setCssStyle, setDir, setDynamicAttribute, setLang, setOnclick, setOndblclick, setOnkeydown, setOnkeypress, setOnkeyup, setOnmousedown, setOnmousemove, setOnmouseout, setOnmouseover, setOnmouseup, setTabindex, setTitle, writeDefaultAttributes, writeOptionalAttributes
 
Methods inherited from class org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag
autogenerateId, convertToDisplayString, doFinally, 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

items

private java.lang.Object items
The Collection, Map or array of objects used to generate the inner 'option' tags.


itemValue

private java.lang.String itemValue
The name of the property mapped to the 'value' attribute of the 'option' tag.


itemLabel

private java.lang.String itemLabel
The name of the property mapped to the inner text of the 'option' tag.


disabled

private java.lang.String disabled
Constructor Detail

OptionsTag

public OptionsTag()
Method Detail

setItems

public void setItems(java.lang.Object items)
Set the Collection, Map or array of objects used to generate the inner 'option' tags.

Required when wishing to render 'option' tags from an array, Collection or Map.

Typically a runtime expression.


getItems

protected java.lang.Object getItems()
Get the Collection, Map or array of objects used to generate the inner 'option' tags.

Typically a runtime expression.


setItemValue

public void setItemValue(java.lang.String itemValue)
Set the name of the property mapped to the 'value' attribute of the 'option' tag.

Required when wishing to render 'option' tags from an array or Collection.

May be a runtime expression.


getItemValue

protected java.lang.String getItemValue()
Return the name of the property mapped to the 'value' attribute of the 'option' tag.


setItemLabel

public void setItemLabel(java.lang.String itemLabel)
Set the name of the property mapped to the label (inner text) of the 'option' tag.

May be a runtime expression.


getItemLabel

protected java.lang.String getItemLabel()
Get the name of the property mapped to the label (inner text) of the 'option' tag.

May be a runtime expression.


setDisabled

public void setDisabled(java.lang.String disabled)
Set the value of the 'disabled' attribute.

May be a runtime expression.

Parameters:
disabled - the value of the 'disabled' attribute

getDisabled

protected java.lang.String getDisabled()
Get the value of the 'disabled' attribute.


isDisabled

protected boolean isDisabled()
                      throws JspException
Is the current HTML tag disabled?

Returns:
true if this tag is disabled
Throws:
JspException

writeTagContent

protected int writeTagContent(TagWriter tagWriter)
                       throws JspException
Description copied from class: AbstractFormTag
Subclasses should implement this method to perform tag content rendering.

Specified by:
writeTagContent in class AbstractFormTag
Returns:
valid tag render instruction as per javax.servlet.jsp.tagext.Tag#doStartTag().
Throws:
JspException

resolveId

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

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

getSelectTag

private SelectTag getSelectTag()

getBindStatus

protected BindStatus getBindStatus()
Description copied from class: AbstractDataBoundFormElementTag
Get the BindStatus for this tag.

Overrides:
getBindStatus in class AbstractDataBoundFormElementTag