Class OptionTag
- All Implemented Interfaces:
BodyTag
,DynamicAttributes
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,Serializable
,EditorAwareTag
<option>
tag renders a single HTML 'option'. Sets 'selected' as
appropriate based on bound value.
Must be used nested inside a SelectTag
.
Provides full support for databinding by marking an
'option
' as 'selected' if the value
matches the value bound to the out SelectTag
.
The value
property is required and corresponds to
the 'value
' attribute of the rendered 'option
'.
An optional label
property can be specified, the
value of which corresponds to inner text of the rendered
'option
' tag. If no label
is specified
then the value
property will be used when rendering
the inner text.
Attribute Summary
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
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 |
label |
false |
true |
HTML Optional Attribute |
lang |
false |
true |
HTML Standard Attribute |
onclick |
false |
true |
HTML Event Attribute |
ondblclick |
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 |
tabindex |
false |
true |
HTML Standard Attribute |
title |
false |
true |
HTML Standard Attribute |
value |
true |
true |
HTML Optional Attribute |
- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The name of the JSP variable used to expose the display value for this tag.static final String
The name of the JSP variable used to expose the value for this 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
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.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
Autogenerate the 'id
' attribute value for this tag.protected void
Called duringAbstractHtmlElementBodyTag.writeTagContent(org.springframework.web.servlet.tags.form.TagWriter)
allowing subclasses to add any attributes to thePageContext
as needed.protected BindStatus
Get theBindStatus
for this tag.protected String
getLabel()
Get the text body of the rendered HTML<option>
tag.protected Object
getValue()
Get the 'value' attribute of the rendered HTML<option>
tag.protected boolean
Get the value of the 'disabled
' attribute.protected void
Make sure we are under a 'select
' tag before proceeding.protected void
Called byAbstractHtmlElementBodyTag.doFinally()
allowing subclasses to remove any attributes from thePageContext
as needed.protected void
renderDefaultContent
(TagWriter tagWriter) protected void
renderFromBodyContent
(BodyContent bodyContent, TagWriter tagWriter) Render the tag contents based on the suppliedBodyContent
.void
setDisabled
(boolean disabled) Set the value of the 'disabled
' attribute.void
Set the text body of the rendered HTML<option>
tag.void
Set the 'value' attribute of the rendered HTML<option>
tag.Methods inherited from class org.springframework.web.servlet.tags.form.AbstractHtmlElementBodyTag
doEndTag, doFinally, doInitBody, flushBufferedBodyContent, setBodyContent, shouldRender, writeTagContent
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
convertToDisplayString, 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 jakarta.servlet.jsp.tagext.TagSupport
doAfterBody, 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
Methods inherited from interface jakarta.servlet.jsp.tagext.BodyTag
doInitBody, setBodyContent
Methods inherited from interface jakarta.servlet.jsp.tagext.IterationTag
doAfterBody
Methods inherited from interface jakarta.servlet.jsp.tagext.Tag
doEndTag, doStartTag, getParent, release, setPageContext, setParent
-
Field Details
-
VALUE_VARIABLE_NAME
The name of the JSP variable used to expose the value for this tag.- See Also:
-
DISPLAY_VALUE_VARIABLE_NAME
The name of the JSP variable used to expose the display value for this tag.- See Also:
-
-
Constructor Details
-
OptionTag
public OptionTag()
-
-
Method Details
-
setValue
Set the 'value' attribute of the rendered HTML<option>
tag. -
getValue
Get the 'value' attribute of the rendered HTML<option>
tag. -
setDisabled
public void setDisabled(boolean disabled) Set the value of the 'disabled
' attribute. -
isDisabled
protected boolean isDisabled()Get the value of the 'disabled
' attribute. -
setLabel
Set the text body of the rendered HTML<option>
tag.May be a runtime expression.
-
getLabel
Get the text body of the rendered HTML<option>
tag. -
renderDefaultContent
- Specified by:
renderDefaultContent
in classAbstractHtmlElementBodyTag
- Throws:
JspException
-
renderFromBodyContent
protected void renderFromBodyContent(BodyContent bodyContent, TagWriter tagWriter) throws JspException Description copied from class:AbstractHtmlElementBodyTag
Render the tag contents based on the suppliedBodyContent
.The default implementation simply
flushes
theBodyContent
directly to the output. Subclasses may choose to override this to add additional content to the output.- Overrides:
renderFromBodyContent
in classAbstractHtmlElementBodyTag
- Throws:
JspException
-
onWriteTagContent
protected void onWriteTagContent()Make sure we are under a 'select
' tag before proceeding.- Overrides:
onWriteTagContent
in classAbstractHtmlElementBodyTag
-
exposeAttributes
Description copied from class:AbstractHtmlElementBodyTag
Called duringAbstractHtmlElementBodyTag.writeTagContent(org.springframework.web.servlet.tags.form.TagWriter)
allowing subclasses to add any attributes to thePageContext
as needed.- Overrides:
exposeAttributes
in classAbstractHtmlElementBodyTag
- Throws:
JspException
-
getBindStatus
Description copied from class:AbstractDataBoundFormElementTag
Get theBindStatus
for this tag.- Overrides:
getBindStatus
in classAbstractDataBoundFormElementTag
-
removeAttributes
protected void removeAttributes()Description copied from class:AbstractHtmlElementBodyTag
Called byAbstractHtmlElementBodyTag.doFinally()
allowing subclasses to remove any attributes from thePageContext
as needed.- Overrides:
removeAttributes
in classAbstractHtmlElementBodyTag
-
autogenerateId
Description copied from class:AbstractDataBoundFormElementTag
Autogenerate the 'id
' attribute value for this tag.The default implementation simply delegates to
AbstractDataBoundFormElementTag.getName()
, deleting invalid characters (such as "[" or "]").- Overrides:
autogenerateId
in classAbstractDataBoundFormElementTag
- Throws:
JspException
-