Class SelectTag
- java.lang.Object
- All Implemented Interfaces:
Serializable
,DynamicAttributes
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,EditorAwareTag
public class SelectTag extends AbstractHtmlInputElementTag
The<select>
tag renders an HTML 'select' element. Supports data binding to the selected option.Inner '
option
' tags can be rendered using one of the approaches supported by the OptionWriter class.Also supports the use of nested
OptionTags
or (typically one) nestedOptionsTag
.Attribute Summary Attribute Required? Runtime Expression? Description accesskey
false
true
HTML Standard Attribute
cssClass
false
true
HTML Optional Attribute
cssErrorClass
false
true
HTML Optional Attribute. Used when the bound field has errors.
cssStyle
false
true
HTML Optional Attribute
dir
false
true
HTML Standard Attribute
disabled
false
true
HTML Optional Attribute. Setting the value of this attribute to 'true' will disable the HTML element.
htmlEscape
false
true
Enable/disable HTML escaping of rendered values.
id
false
true
HTML Standard Attribute
itemLabel
false
true
Name of the property mapped to the inner text of the 'option' tag
items
false
true
The Collection, Map or array of objects used to generate the inner 'option' tags
itemValue
false
true
Name of the property mapped to 'value' attribute of the 'option' tag
lang
false
true
HTML Standard Attribute
multiple
false
true
HTML Optional Attribute
onblur
false
true
HTML Event Attribute
onchange
false
true
HTML Event Attribute
onclick
false
true
HTML Event Attribute
ondblclick
false
true
HTML Event Attribute
onfocus
false
true
HTML Event Attribute
onkeydown
false
true
HTML Event Attribute
onkeypress
false
true
HTML Event Attribute
onkeyup
false
true
HTML Event Attribute
onmousedown
false
true
HTML Event Attribute
onmousemove
false
true
HTML Event Attribute
onmouseout
false
true
HTML Event Attribute
onmouseover
false
true
HTML Event Attribute
onmouseup
false
true
HTML Event Attribute
path
true
true
Path to property for data binding
size
false
true
HTML Optional Attribute
tabindex
false
true
HTML Standard Attribute
title
false
true
HTML Standard Attribute
- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller
- See Also:
OptionTag
, Serialized Form
Field Summary
Fields Modifier and Type Field Description static String
LIST_VALUE_PAGE_ATTRIBUTE
ThePageContext
attribute under which the bound value is exposed to innerOptionTags
.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 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 Description SelectTag()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
doEndTag()
Closes any block tag that might have been opened when using nestedoptions
.void
doFinally()
protected String
getItemLabel()
Get the value of the 'itemLabel
' attribute.protected Object
getItems()
Get the value of the 'items
' attribute.protected String
getItemValue()
Get the value of the 'itemValue
' attribute.protected Object
getMultiple()
Get the value of the HTML 'multiple
' attribute rendered on the final 'select
' element.protected String
getSize()
Get the value of the 'size
' attribute.void
setItemLabel(String itemLabel)
Set the name of the property mapped to the label (inner text) of the 'option
' tag.void
setItems(Object items)
void
setItemValue(String itemValue)
Set the name of the property mapped to the 'value
' attribute of the 'option
' tag.void
setMultiple(Object multiple)
Set the value of the HTML 'multiple
' attribute rendered on the final 'select
' element.void
setSize(String size)
Set the value of the HTML 'size
' attribute rendered on the final 'select
' element.protected int
writeTagContent(TagWriter tagWriter)
Renders the HTML 'select
' tag to the suppliedTagWriter
.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, isValidDynamicAttribute, 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
autogenerateId, convertToDisplayString, 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, 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 javax.servlet.jsp.tagext.TagSupport
doAfterBody, findAncestorWithClass, getParent, getValue, getValues, release, removeValue, setPageContext, setParent, setValue
Field Detail
LIST_VALUE_PAGE_ATTRIBUTE
public static final String LIST_VALUE_PAGE_ATTRIBUTE
ThePageContext
attribute under which the bound value is exposed to innerOptionTags
.- See Also:
- Constant Field Values
Constructor Detail
SelectTag
public SelectTag()
Method Detail
setItems
public void setItems(@Nullable Object items)
Set theCollection
,Map
or array of objects used to generate the inner 'option
' tags.Required when wishing to render '
option
' tags from an array,Collection
orMap
.Typically a runtime expression.
- Parameters:
items
- the items that comprise the options of this selection
getItems
@Nullable protected Object getItems()
Get the value of the 'items
' attribute.May be a runtime expression.
setItemValue
public void setItemValue(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 orCollection
.May be a runtime expression.
getItemValue
@Nullable protected String getItemValue()
Get the value of the 'itemValue
' attribute.May be a runtime expression.
setItemLabel
public void setItemLabel(String itemLabel)
Set the name of the property mapped to the label (inner text) of the 'option
' tag.May be a runtime expression.
getItemLabel
@Nullable protected String getItemLabel()
Get the value of the 'itemLabel
' attribute.May be a runtime expression.
setSize
public void setSize(String size)
Set the value of the HTML 'size
' attribute rendered on the final 'select
' element.
setMultiple
public void setMultiple(Object multiple)
Set the value of the HTML 'multiple
' attribute rendered on the final 'select
' element.
getMultiple
@Nullable protected Object getMultiple()
Get the value of the HTML 'multiple
' attribute rendered on the final 'select
' element.
writeTagContent
protected int writeTagContent(TagWriter tagWriter) throws JspException
Renders the HTML 'select
' tag to the suppliedTagWriter
.Renders nested '
option
' tags if theitems
property is set, otherwise exposes the bound value for the nestedOptionTags
.- Specified by:
writeTagContent
in classAbstractFormTag
- Returns:
- valid tag render instruction as per
Tag.doStartTag()
. - Throws:
JspException
doEndTag
public int doEndTag() throws JspException
Closes any block tag that might have been opened when using nestedoptions
.- Specified by:
doEndTag
in interfaceTag
- Overrides:
doEndTag
in classTagSupport
- Throws:
JspException
doFinally
public void doFinally()
- Specified by:
doFinally
in interfaceTryCatchFinally
- Overrides:
doFinally
in classAbstractDataBoundFormElementTag