public class ComboBox extends TextField
The combo box is basically an HTML INPUT of type text and HTML SELECT grouped together to give you a combo box functionality. You can place text in the INPUT control by using the SELECT control or type it in directly in the text field.
In this example, the SELECT will be populated from id=year attribute. Counter is itself an Iterator. It will span from first to last. The population is done via javascript, and requires that this tag be surrounded by a <form>.
Note that unlike the <s:select/> tag, there is no ability to define the individual <option> tags' id attribute or content separately. Each of these is simply populated from the toString() method of the list item. Presumably this is because the select box isn't intended to actually submit useful data, but to assist the user in filling out the text field.
Examples
JSP:
<-- Example One -->
<s:bean name="struts.util.Counter" var="year">
<s:param name="first" value="text('firstBirthYear')"/>
<s:param name="last" value="2000"/>
<s:combobox label="Birth year" size="6" maxlength="4" name="birthYear" list="#year"/>
</s:bean>
<-- Example Two -->
<s:combobox
label="My Favourite Fruit"
name="myFavouriteFruit"
list="{'apple','banana','grape','pear'}"
headerKey="-1"
headerValue="--- Please Select ---"
emptyOption="true"
value="banana" />
<-- Example Two -->
<s:combobox
label="My Favourite Color"
name="myFavouriteColor"
list="#{'red':'red','green':'green','blue':'blue'}"
headerKey="-1"
headerValue="--- Please Select ---"
emptyOption="true"
value="green" />
Velocity:
#tag( ComboBox "label=Birth year" "size=6" "maxlength=4" "name=birthYear" "list=#year" )
| Modifier and Type | Field and Description |
|---|---|
protected String |
emptyOption |
protected String |
headerKey |
protected String |
headerValue |
protected String |
list |
protected String |
listKey |
protected String |
listValue |
static String |
TEMPLATE |
accesskey, cssClass, cssErrorClass, cssErrorStyle, cssStyle, defaultTemplateDir, defaultUITheme, disabled, dynamicAttributes, errorPosition, id, javascriptTooltip, key, label, labelPosition, labelSeparator, name, onblur, onchange, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onselect, request, requiredLabel, requiredPosition, response, tabindex, template, templateDir, templateEngineManager, templateSuffix, theme, title, tooltip, tooltipConfig, tooltipCssClass, tooltipDelay, tooltipIconPath, uiThemeExpansionToken, valueactionMapper, COMPONENT_STACK, devMode, parameters, stack, standardAttributesMap, throwExceptionOnELFailure| Constructor and Description |
|---|
ComboBox(ValueStack stack,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
| Modifier and Type | Method and Description |
|---|---|
void |
evaluateExtraParams() |
protected Object |
findListValue() |
protected String |
getDefaultTemplate()
A contract that requires each concrete UI Tag to specify which template should be used as a default.
|
void |
setEmptyOption(String emptyOption) |
void |
setHeaderKey(String headerKey) |
void |
setHeaderValue(String headerValue) |
void |
setList(String list) |
void |
setListKey(String listKey) |
void |
setListValue(String listValue) |
setMaxlength, setMaxLength, setReadonly, setSize, setTypeaddFormParameter, buildTemplateName, copyParams, enableAncestorFormCustomOnsubmit, end, ensureAttributeSafelyNotEscaped, escape, evaluateNameValue, evaluateParams, getId, getTemplate, getTemplateDir, getTheme, getTooltipConfig, getValueClassType, mergeTemplate, populateComponentHtmlId, setAccesskey, setClass, setCssClass, setCssErrorClass, setCssErrorStyle, setCssStyle, setDefaultTemplateDir, setDefaultUITheme, setDisabled, setDynamicAttributes, setErrorPosition, setId, setJavascriptTooltip, setKey, setLabel, setLabelposition, setLabelSeparator, setName, setOnblur, setOnchange, setOnclick, setOndblclick, setOnfocus, setOnkeydown, setOnkeypress, setOnkeyup, setOnmousedown, setOnmousemove, setOnmouseout, setOnmouseover, setOnmouseup, setOnselect, setRequiredLabel, setRequiredPosition, setStyle, setTabindex, setTemplate, setTemplateDir, setTemplateEngineManager, setTheme, setTitle, setTooltip, setTooltipConfig, setTooltipCssClass, setTooltipDelay, setTooltipIconPath, setUIThemeExpansionToken, setValueaddAllParameters, addParameter, altSyntax, completeExpressionIfAltSyntax, determineActionURL, determineNamespace, end, fieldError, findAncestor, findString, findString, findStringIfAltSyntax, findValue, findValue, findValue, getComponentStack, getParameters, getStack, getStandardAttributes, isValidTagAttribute, popComponentStack, setActionMapper, setDevMode, setThrowExceptionsOnELFailure, setUrlHelper, start, stripExpressionIfAltSyntax, toString, usesBodypublic static final String TEMPLATE
protected String list
protected String listKey
protected String listValue
protected String headerKey
protected String headerValue
protected String emptyOption
public ComboBox(ValueStack stack, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
protected String getDefaultTemplate()
UIBeangetDefaultTemplate in class TextFieldpublic void evaluateExtraParams()
evaluateExtraParams in class TextFieldprotected Object findListValue()
public void setList(String list)
public void setEmptyOption(String emptyOption)
public void setHeaderKey(String headerKey)
public void setHeaderValue(String headerValue)
public void setListKey(String listKey)
public void setListValue(String listValue)
Copyright © 2000–2018 Apache Software Foundation. All rights reserved.