Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts2.components
Class Select

    java.lang.Object
      org.apache.struts2.components.Component
          org.apache.struts2.components.UIBean
              org.apache.struts2.components.ListUIBean
                  org.apache.struts2.components.Select

Direct Known Subclasses:
  UpDownSelect

    public class Select

extends ListUIBean

Render an HTML input tag of type select.

Examples

     <s:select label="Pets"
            name="petIds"
            list="petDao.pets"
            listKey="id"
            listValue="name"
            multiple="true"
            size="3"
            required="true"
            value="%{petDao.pets.{id}}"
     />

     <s:select label="Months"
            name="months"
            headerKey="-1" headerValue="Select Month"
            list="#{'01':'Jan', '02':'Feb', [...]}"
            value="selectedMonth"
            required="true"
     />

     // The month id (01, 02, ...) returned by the getSelectedMonth() call
     // against the stack will be auto-selected

Note: For any of the tags that use lists (select probably being the most ubiquitous), which uses the OGNL list notation (see the "months" example above), it should be noted that the map key created (in the months example, the '01', '02', etc.) is typed. '1' is a char, '01' is a String, "1" is a String. This is important since if the value returned by your "value" attribute is NOT the same type as the key in the "list" attribute, they WILL NOT MATCH, even though their String values may be equivalent. If they don't match, nothing in your list will be auto-selected.

Field Summary
`protected String` | `emptyOption`
`protected String` | `headerKey`
`protected String` | `headerValue`
`protected String` | `multiple`
`protected String` | `size`
`static String` | `TEMPLATE`

Fields inherited from class org.apache.struts2.components.ListUIBean
`list, listCssClass, listCssStyle, listKey, listLabelKey, listTitle, listValue, listValueKey, throwExceptionOnNullValueAttribute`

Fields inherited from class org.apache.struts2.components.UIBean
`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`

Fields inherited from class org.apache.struts2.components.Component
`actionMapper, COMPONENT_STACK, devMode, parameters, stack, standardAttributesMap, throwExceptionOnELFailure`

Constructor Summary
`Select(ValueStack stack, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)`

Method Summary
`void` | `evaluateExtraParams()`
`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` | `setMultiple(String multiple)`
`void` | `setSize(String size)`

Methods inherited from class org.apache.struts2.components.ListUIBean
`contains, getValueClassType, setList, setListCssClass, setListCssStyle, setListKey, setListLabelKey, setListTitle, setListValue, setListValueKey, setThrowExceptionOnNullValueAttribute`

Methods inherited from class org.apache.struts2.components.UIBean
`addFormParameter, buildTemplateName, copyParams, enableAncestorFormCustomOnsubmit, end, ensureAttributeSafelyNotEscaped, escape, evaluateNameValue, evaluateParams, getId, getTemplate, getTemplateDir, getTheme, getTooltipConfig, 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`

Methods inherited from class org.apache.struts2.components.Component
`addAllParameters, 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, usesBody`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### TEMPLATE

    public static final String TEMPLATE

See Also:
  Constant Field Values

### emptyOption

    protected String emptyOption

### headerKey

    protected String headerKey

### headerValue

    protected String headerValue

### multiple

    protected String multiple

### size

    protected String size

Constructor Detail

### Select

    public Select(ValueStack stack,
                  javax.servlet.http.HttpServletRequest request,
                  javax.servlet.http.HttpServletResponse response)

Method Detail

### getDefaultTemplate

    protected String getDefaultTemplate()

  Description copied from class: `UIBean`
  A contract that requires each concrete UI Tag to specify which template should be used as a default. For example, the CheckboxTab might return "checkbox.vm" while the RadioTag might return "radio.vm". This value not begin with a '/' unless you intend to make the path absolute rather than relative to the current theme.

  Specified by:
    `getDefaultTemplate` in class `UIBean`
  Returns:
    The name of the template to be used as the default.

### evaluateExtraParams

    public void evaluateExtraParams()

  Overrides:
    `evaluateExtraParams` in class `ListUIBean`

### setEmptyOption

    public void setEmptyOption(String emptyOption)

### setHeaderKey

    public void setHeaderKey(String headerKey)

### setHeaderValue

    public void setHeaderValue(String headerValue)

### setMultiple

    public void setMultiple(String multiple)

### setSize

    public void setSize(String size)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000–2018 Apache Software Foundation. All rights reserved.