|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjavax.servlet.jsp.tagext.TagSupport
org.springframework.web.servlet.tags.RequestContextAwareTag
org.springframework.web.servlet.tags.HtmlEscapingAwareTag
org.springframework.web.servlet.tags.form.AbstractFormTag
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag
org.springframework.web.servlet.tags.form.AbstractHtmlElementTag
org.springframework.web.servlet.tags.form.AbstractHtmlInputElementTag
org.springframework.web.servlet.tags.form.SelectTag
public class SelectTag
Databinding-aware JSP tag that renders an HTML 'select'
element.
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.
OptionTag,
Serialized Form| Field Summary | |
|---|---|
private static java.lang.Object |
EMPTY
Marker object for items that have been specified but resolve to null. |
private java.lang.String |
itemLabel
The name of the property mapped to the inner text of the ' option' tag. |
private java.lang.Object |
items
The Collection, Map or array of objects used to generate the inner
'option' tags. |
private java.lang.String |
itemValue
The name of the property mapped to the ' value' attribute
of the 'option' tag. |
static java.lang.String |
LIST_VALUE_PAGE_ATTRIBUTE
The PageContext attribute under
which the bound value is exposed to inner OptionTags. |
private java.lang.Object |
multiple
Indicates whether or not the ' select' tag allows
multiple-selections. |
private java.lang.String |
size
The value of the HTML ' size' attribute rendered
on the final 'select' element. |
private TagWriter |
tagWriter
The TagWriter instance that the output is being written. |
| 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 |
|---|
COMMAND_NAME_VARIABLE_NAME, 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 | |
|---|---|
SelectTag()
|
|
| Method Summary | |
|---|---|
int |
doEndTag()
Closes any block tag that might have been opened when using nested options. |
void |
doFinally()
Clears the TagWriter that might have been left over when using
nested options. |
private boolean |
forceMultiple()
Returns ' true' if the bound value requires the
resultant 'select' tag to be multi-select. |
protected java.lang.String |
getItemLabel()
Get the value of the ' itemLabel' attribute. |
protected java.lang.Object |
getItems()
Get the value of the ' items' attribute. |
protected java.lang.String |
getItemValue()
Get the value of the ' itemValue' attribute. |
protected java.lang.Object |
getMultiple()
Get the value of the HTML ' multiple' attribute rendered
on the final 'select' element. |
protected java.lang.String |
getSize()
Get the value of the ' size' attribute. |
private boolean |
isMultiple()
|
void |
setItemLabel(java.lang.String itemLabel)
Set the name of the property mapped to the label (inner text) of the ' option' tag. |
void |
setItems(java.lang.Object items)
Set the Collection, Map or array of objects used to
generate the inner 'option' tags. |
void |
setItemValue(java.lang.String itemValue)
Set the name of the property mapped to the ' value'
attribute of the 'option' tag. |
void |
setMultiple(java.lang.Object multiple)
Set the value of the HTML ' multiple' attribute rendered
on the final 'select' element. |
void |
setSize(java.lang.String size)
Set the value of the HTML ' size' attribute rendered
on the final 'select' element. |
private static boolean |
typeRequiresMultiple(java.lang.Class type)
Returns ' true' for arrays, Collections
and Maps. |
private void |
writeHiddenTagIfNecessary(TagWriter tagWriter)
If using a multi-select, a hidden element is needed to make sure all items are correctly unselected on the server-side in response to a null post. |
protected int |
writeTagContent(TagWriter tagWriter)
Renders the HTML ' select' tag to the supplied
TagWriter. |
| Methods inherited from class org.springframework.web.servlet.tags.form.AbstractHtmlInputElementTag |
|---|
getAccesskey, getDisabled, getOnblur, getOnchange, getOnfocus, getReadonly, 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, 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, resolveId, setId, setPath |
| Methods inherited from class org.springframework.web.servlet.tags.form.AbstractFormTag |
|---|
createTagWriter, doStartTagInternal, evaluate, evaluateBoolean, getDisplayString, getDisplayString, isDefaultHtmlEscape, writeOptionalAttribute |
| Methods inherited from class org.springframework.web.servlet.tags.HtmlEscapingAwareTag |
|---|
isHtmlEscape, 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 |
| Field Detail |
|---|
public static final java.lang.String LIST_VALUE_PAGE_ATTRIBUTE
PageContext attribute under
which the bound value is exposed to inner OptionTags.
private static final java.lang.Object EMPTY
private java.lang.Object items
Collection, Map or array of objects used to generate the inner
'option' tags.
private java.lang.String itemValue
value' attribute
of the 'option' tag.
private java.lang.String itemLabel
option' tag.
private java.lang.String size
size' attribute rendered
on the final 'select' element.
private java.lang.Object multiple
select' tag allows
multiple-selections.
private TagWriter tagWriter
TagWriter instance that the output is being written.
Only used in conjunction with nested OptionTags.
| Constructor Detail |
|---|
public SelectTag()
| Method Detail |
|---|
public void setItems(java.lang.Object items)
Collection, Map or array of objects used to
generate the inner 'option' tags.
Required when wishing to render 'option' tags from
an array, Collection or Map.
Typically a runtime expression.
items - the items that comprise the options of this selectionprotected java.lang.Object getItems()
items' attribute.
May be a runtime expression.
public void setItemValue(java.lang.String itemValue)
value'
attribute of the 'option' tag.
Required when wishing to render 'option' tags from
an array or Collection.
May be a runtime expression.
protected java.lang.String getItemValue()
itemValue' attribute.
May be a runtime expression.
public void setItemLabel(java.lang.String itemLabel)
option' tag.
May be a runtime expression.
protected java.lang.String getItemLabel()
itemLabel' attribute.
May be a runtime expression.
public void setSize(java.lang.String size)
size' attribute rendered
on the final 'select' element.
May be a runtime expression.
size - the desired value of the 'size' attributeprotected java.lang.String getSize()
size' attribute.
May be a runtime expression.
public void setMultiple(java.lang.Object multiple)
multiple' attribute rendered
on the final 'select' element.
May be a runtime expression.
protected java.lang.Object getMultiple()
multiple' attribute rendered
on the final 'select' element.
May be a runtime expression.
protected int writeTagContent(TagWriter tagWriter)
throws javax.servlet.jsp.JspException
select' tag to the supplied
TagWriter.
Renders nested 'option' tags if the
items property is set, otherwise exposes the
bound value for the nested OptionTags.
writeTagContent in class AbstractFormTagTag.doStartTag().
javax.servlet.jsp.JspException
private void writeHiddenTagIfNecessary(TagWriter tagWriter)
throws javax.servlet.jsp.JspException
null post.
javax.servlet.jsp.JspException
private boolean isMultiple()
throws javax.servlet.jsp.JspException
javax.servlet.jsp.JspException
private boolean forceMultiple()
throws javax.servlet.jsp.JspException
true' if the bound value requires the
resultant 'select' tag to be multi-select.
javax.servlet.jsp.JspExceptionprivate static boolean typeRequiresMultiple(java.lang.Class type)
true' for arrays, Collections
and Maps.
public int doEndTag()
throws javax.servlet.jsp.JspException
options.
doEndTag in interface javax.servlet.jsp.tagext.TagdoEndTag in class javax.servlet.jsp.tagext.TagSupportjavax.servlet.jsp.JspExceptionpublic void doFinally()
TagWriter that might have been left over when using
nested options.
doFinally in interface javax.servlet.jsp.tagext.TryCatchFinallydoFinally in class AbstractDataBoundFormElementTag
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||