Class SelectTag
- All Implemented Interfaces:
jakarta.servlet.jsp.tagext.DynamicAttributes, jakarta.servlet.jsp.tagext.IterationTag, jakarta.servlet.jsp.tagext.JspTag, jakarta.servlet.jsp.tagext.Tag, jakarta.servlet.jsp.tagext.TryCatchFinally, Serializable, EditorAwareTag
<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) nested OptionsTag.
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, Sam Brannen
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThePageContextattribute under which the bound value is exposed to innerOptionTags.Fields inherited from class AbstractHtmlInputElementTag
ACCESSKEY_ATTRIBUTE, DISABLED_ATTRIBUTE, ONBLUR_ATTRIBUTE, ONCHANGE_ATTRIBUTE, ONFOCUS_ATTRIBUTE, READONLY_ATTRIBUTEFields inherited from class 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_ATTRIBUTEFields inherited from class AbstractDataBoundFormElementTag
NESTED_PATH_VARIABLE_NAMEFields inherited from class RequestContextAwareTag
logger, REQUEST_CONTEXT_PAGE_ATTRIBUTEFields inherited from class jakarta.servlet.jsp.tagext.TagSupport
pageContextFields inherited from interface jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAINFields inherited from interface jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintdoEndTag()Closes any block tag that might have been opened when using nestedoptions.voidGet the value of the 'itemLabel' attribute.getItems()Get the value of the 'items' attribute.Get the value of the 'itemValue' attribute.Get the value of the HTML 'multiple' attribute rendered on the final 'select' element.getSize()Get the value of the 'size' attribute.voidsetItemLabel(String itemLabel) Set the name of the property mapped to the label (inner text) of the 'option' tag.voidvoidsetItemValue(String itemValue) Set the name of the property mapped to the 'value' attribute of the 'option' tag.voidsetMultiple(Object multiple) Set the value of the HTML 'multiple' attribute rendered on the final 'select' element.voidSet the value of the HTML 'size' attribute rendered on the final 'select' element.protected intwriteTagContent(TagWriter tagWriter) Renders the HTML 'select' tag to the suppliedTagWriter.Methods inherited from class AbstractHtmlInputElementTag
getAccesskey, getOnblur, getOnchange, getOnfocus, isDisabled, isReadonly, setAccesskey, setDisabled, setOnblur, setOnchange, setOnfocus, setReadonly, writeOptionalAttributesMethods inherited from class 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, writeDefaultAttributesMethods inherited from class AbstractDataBoundFormElementTag
autogenerateId, convertToDisplayString, getBindStatus, getBoundValue, getEditor, getId, getName, getNestedPath, getPath, getPropertyEditor, getPropertyPath, processFieldValue, resolveId, setId, setPathMethods inherited from class AbstractFormTag
createTagWriter, doStartTagInternal, evaluate, getDisplayString, getDisplayString, isDefaultHtmlEscape, writeOptionalAttributeMethods inherited from class HtmlEscapingAwareTag
htmlEscape, isHtmlEscape, isResponseEncodedHtmlEscape, setHtmlEscapeMethods inherited from class RequestContextAwareTag
doCatch, doStartTag, getRequestContextMethods inherited from class jakarta.servlet.jsp.tagext.TagSupport
doAfterBody, findAncestorWithClass, getParent, getValue, getValues, release, removeValue, setPageContext, setParent, setValue
-
Field Details
-
LIST_VALUE_PAGE_ATTRIBUTE
ThePageContextattribute under which the bound value is exposed to innerOptionTags.- See Also:
-
-
Constructor Details
-
SelectTag
public SelectTag()
-
-
Method Details
-
setItems
Set theCollection,Mapor array of objects used to generate the inner 'option' tags.Required when wishing to render '
option' tags from an array,CollectionorMap.Typically a runtime expression.
- Parameters:
items- the items that comprise the options of this selection
-
getItems
-
setItemValue
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
-
setItemLabel
Set the name of the property mapped to the label (inner text) of the 'option' tag.May be a runtime expression.
-
getItemLabel
-
setSize
Set the value of the HTML 'size' attribute rendered on the final 'select' element. -
getSize
-
setMultiple
Set the value of the HTML 'multiple' attribute rendered on the final 'select' element. -
getMultiple
-
writeTagContent
Renders the HTML 'select' tag to the suppliedTagWriter.Renders nested '
option' tags if theitemsproperty is set, otherwise exposes the bound value for the nestedOptionTags.- Specified by:
writeTagContentin classAbstractFormTag- Returns:
- valid tag render instruction as per
Tag.doStartTag(). - Throws:
jakarta.servlet.jsp.JspException
-
doEndTag
public int doEndTag() throws jakarta.servlet.jsp.JspExceptionCloses any block tag that might have been opened when using nestedoptions.- Specified by:
doEndTagin interfacejakarta.servlet.jsp.tagext.Tag- Overrides:
doEndTagin classjakarta.servlet.jsp.tagext.TagSupport- Throws:
jakarta.servlet.jsp.JspException
-
doFinally
public void doFinally()- Specified by:
doFinallyin interfacejakarta.servlet.jsp.tagext.TryCatchFinally- Overrides:
doFinallyin classAbstractDataBoundFormElementTag
-