public class OptionTag extends AbstractHtmlElementBodyTag
option
' tag.
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.
Modifier and Type | Field and Description |
---|---|
private boolean |
disabled |
private static java.lang.String |
DISABLED_ATTRIBUTE
The name of the '
disabled ' attribute. |
static java.lang.String |
DISPLAY_VALUE_VARIABLE_NAME
The name of the JSP variable used to expose the display value for this tag.
|
private java.lang.String |
label
The text body of the rendered HTML
<option> tag. |
private java.lang.Object |
oldDisplayValue |
private java.lang.Object |
oldValue |
private static java.lang.String |
SELECTED_ATTRIBUTE
The name of the '
selected ' attribute. |
private java.lang.Object |
value
The 'value' attribute of the rendered HTML
<option> tag. |
private static java.lang.String |
VALUE_ATTRIBUTE
The name of the '
value ' attribute. |
static java.lang.String |
VALUE_VARIABLE_NAME
The name of the JSP variable used to expose the value for this tag.
|
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
NESTED_PATH_VARIABLE_NAME
logger, REQUEST_CONTEXT_PAGE_ATTRIBUTE
Constructor and Description |
---|
OptionTag() |
Modifier and Type | Method and Description |
---|---|
private void |
assertUnderSelectTag() |
protected java.lang.String |
autogenerateId()
Autogenerate the '
id ' attribute value for this tag. |
protected void |
exposeAttributes()
Called during
AbstractHtmlElementBodyTag.writeTagContent(org.springframework.web.servlet.tags.form.TagWriter) allowing subclasses to add any attributes to the
javax.servlet.jsp.PageContext as needed. |
protected BindStatus |
getBindStatus()
Get the
BindStatus for this tag. |
protected java.lang.String |
getLabel()
Get the text body of the rendered HTML
<option> tag. |
private java.lang.String |
getLabelValue(java.lang.Object resolvedValue)
Returns the value of the label for this '
option ' element. |
private SelectTag |
getSelectTag() |
protected java.lang.Object |
getValue()
Get the 'value' attribute of the rendered HTML
<option> tag. |
protected boolean |
isDisabled()
Get the value of the '
disabled ' attribute. |
private boolean |
isSelected(java.lang.Object resolvedValue) |
protected void |
onWriteTagContent()
Make sure we are under a '
select ' tag before proceeding. |
protected void |
removeAttributes()
Called by
AbstractHtmlElementBodyTag.doFinally() allowing subclasses to remove any attributes from the
javax.servlet.jsp.PageContext as needed. |
protected void |
renderDefaultContent(TagWriter tagWriter) |
protected void |
renderFromBodyContent(BodyContent bodyContent,
TagWriter tagWriter)
Render the tag contents based on the supplied
BodyContent . |
private void |
renderOption(java.lang.Object value,
java.lang.String label,
TagWriter tagWriter) |
private java.lang.Object |
resolveValue() |
void |
setDisabled(boolean disabled)
Set the value of the '
disabled ' attribute. |
void |
setLabel(java.lang.String label)
Set the text body of the rendered HTML
<option> tag. |
void |
setValue(java.lang.Object value)
Set the 'value' attribute of the rendered HTML
<option> tag. |
doEndTag, doFinally, doInitBody, flushBufferedBodyContent, setBodyContent, shouldRender, writeTagContent
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
convertToDisplayString, getBoundValue, getEditor, getId, getName, getNestedPath, getPath, getPropertyEditor, getPropertyPath, processFieldValue, resolveId, setId, setPath
createTagWriter, doStartTagInternal, evaluate, getDisplayString, getDisplayString, isDefaultHtmlEscape, writeOptionalAttribute
htmlEscape, isHtmlEscape, isResponseEncodedHtmlEscape, setHtmlEscape
doCatch, doStartTag, getRequestContext
public static final java.lang.String VALUE_VARIABLE_NAME
public static final java.lang.String DISPLAY_VALUE_VARIABLE_NAME
private static final java.lang.String SELECTED_ATTRIBUTE
selected
' attribute.private static final java.lang.String VALUE_ATTRIBUTE
value
' attribute.private static final java.lang.String DISABLED_ATTRIBUTE
disabled
' attribute.private java.lang.Object value
<option>
tag.private java.lang.String label
<option>
tag.private java.lang.Object oldValue
private java.lang.Object oldDisplayValue
private boolean disabled
public void setValue(java.lang.Object value)
<option>
tag.protected java.lang.Object getValue()
<option>
tag.public void setDisabled(boolean disabled)
disabled
' attribute.protected boolean isDisabled()
disabled
' attribute.public void setLabel(java.lang.String label)
<option>
tag.
May be a runtime expression.
protected java.lang.String getLabel()
<option>
tag.protected void renderDefaultContent(TagWriter tagWriter) throws JspException
renderDefaultContent
in class AbstractHtmlElementBodyTag
JspException
protected void renderFromBodyContent(BodyContent bodyContent, TagWriter tagWriter) throws JspException
AbstractHtmlElementBodyTag
BodyContent
.
The default implementation simply flushes
the BodyContent
directly to the output. Subclasses may choose to
override this to add additional content to the output.
renderFromBodyContent
in class AbstractHtmlElementBodyTag
JspException
protected void onWriteTagContent()
select
' tag before proceeding.onWriteTagContent
in class AbstractHtmlElementBodyTag
protected void exposeAttributes() throws JspException
AbstractHtmlElementBodyTag
AbstractHtmlElementBodyTag.writeTagContent(org.springframework.web.servlet.tags.form.TagWriter)
allowing subclasses to add any attributes to the
javax.servlet.jsp.PageContext
as needed.exposeAttributes
in class AbstractHtmlElementBodyTag
JspException
protected BindStatus getBindStatus()
AbstractDataBoundFormElementTag
BindStatus
for this tag.getBindStatus
in class AbstractDataBoundFormElementTag
protected void removeAttributes()
AbstractHtmlElementBodyTag
AbstractHtmlElementBodyTag.doFinally()
allowing subclasses to remove any attributes from the
javax.servlet.jsp.PageContext
as needed.removeAttributes
in class AbstractHtmlElementBodyTag
private void renderOption(java.lang.Object value, java.lang.String label, TagWriter tagWriter) throws JspException
JspException
protected java.lang.String autogenerateId() throws JspException
AbstractDataBoundFormElementTag
id
' attribute value for this tag.
The default implementation simply delegates to AbstractDataBoundFormElementTag.getName()
,
deleting invalid characters (such as "[" or "]").
autogenerateId
in class AbstractDataBoundFormElementTag
JspException
private java.lang.String getLabelValue(java.lang.Object resolvedValue) throws JspException
option
' element.
If the label
property is set then the resolved value
of that property is used, otherwise the value of the resolvedValue
argument is used.JspException
private void assertUnderSelectTag()
private SelectTag getSelectTag()
private boolean isSelected(java.lang.Object resolvedValue)
private java.lang.Object resolveValue() throws JspException
JspException