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, value
actionMapper, 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, setType
addFormParameter, 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, setValue
addAllParameters, addParameter, altSyntax, completeExpressionIfAltSyntax, determineActionURL, determineNamespace, end, escapeHtmlBody, fieldError, findAncestor, findString, findString, findStringIfAltSyntax, findValue, findValue, findValue, getComponentStack, getParameters, getStack, getStandardAttributes, isValidTagAttribute, popComponentStack, setActionMapper, setDevMode, setThrowExceptionsOnELFailure, setUrlHelper, start, stripExpressionIfAltSyntax, toString, usesBody
public 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()
UIBean
getDefaultTemplate
in class TextField
public void evaluateExtraParams()
evaluateExtraParams
in class TextField
protected 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–2020 Apache Software Foundation. All rights reserved.