Class OptionTag
- java.lang.Object
- All Implemented Interfaces:
Serializable
,BodyTag
,DynamicAttributes
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,EditorAwareTag
public class OptionTag extends AbstractHtmlElementBodyTag implements BodyTag
JSP tag for rendering an HTML 'option
' tag.Must be used nested inside a
SelectTag
.Provides full support for databinding by marking an '
option
' as 'selected' if thevalue
matches the value bound to the outSelectTag
.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 nolabel
is specified then thevalue
property will be used when rendering the inner text.- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller
- See Also:
- Serialized Form
Field Summary
Fields Modifier and Type Field Description static String
DISPLAY_VALUE_VARIABLE_NAME
The name of the JSP variable used to expose the display value for this tag.static String
VALUE_VARIABLE_NAME
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 javax.servlet.jsp.tagext.TagSupport
pageContext
Fields inherited from interface javax.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
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 OptionTag()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
autogenerateId()
Autogenerate the 'id
' attribute value for this tag.protected void
exposeAttributes()
Called duringAbstractHtmlElementBodyTag.writeTagContent(org.springframework.web.servlet.tags.form.TagWriter)
allowing subclasses to add any attributes to thePageContext
as needed.protected BindStatus
getBindStatus()
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
isDisabled()
Get the value of the 'disabled
' attribute.protected void
onWriteTagContent()
Make sure we are under a 'select
' tag before proceeding.protected void
removeAttributes()
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
setLabel(String label)
Set the text body of the rendered HTML<option>
tag.void
setValue(Object value)
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 javax.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 javax.servlet.jsp.tagext.BodyTag
doInitBody, setBodyContent
Methods inherited from interface javax.servlet.jsp.tagext.IterationTag
doAfterBody
Methods inherited from interface javax.servlet.jsp.tagext.Tag
doEndTag, doStartTag, getParent, release, setPageContext, setParent
Field Detail
VALUE_VARIABLE_NAME
public static final String VALUE_VARIABLE_NAME
The name of the JSP variable used to expose the value for this tag.- See Also:
- Constant Field Values
DISPLAY_VALUE_VARIABLE_NAME
public static final String DISPLAY_VALUE_VARIABLE_NAME
The name of the JSP variable used to expose the display value for this tag.- See Also:
- Constant Field Values
Constructor Detail
OptionTag
public OptionTag()
Method Detail
setValue
public void setValue(Object value)
Set 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
public void setLabel(String label)
Set the text body of the rendered HTML<option>
tag.May be a runtime expression.
renderDefaultContent
protected void renderDefaultContent(TagWriter tagWriter) throws JspException
- 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
protected void exposeAttributes() throws JspException
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
protected BindStatus 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
protected String autogenerateId() throws JspException
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