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 java.lang.String` | `emptyOption`
`protected java.lang.String` | `headerKey`
`protected java.lang.String` | `headerValue`
`protected java.lang.String` | `multiple`
`protected java.lang.String` | `size`
`static java.lang.String` | `TEMPLATE`

Fields inherited from class org.apache.struts2.components.ListUIBean
`list, listKey, listValue, throwExceptionOnNullValueAttribute`

Fields inherited from class org.apache.struts2.components.UIBean
`accesskey, cssClass, cssErrorClass, cssErrorStyle, cssStyle, defaultTemplateDir, defaultUITheme, disabled, dynamicAttributes, id, javascriptTooltip, key, label, labelPosition, labelSeparator, name, onblur, onchange, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onselect, request, required, requiredposition, response, tabindex, template, templateDir, templateEngineManager, templateSuffix, theme, title, tooltip, tooltipConfig, tooltipCssClass, tooltipDelay, tooltipIconPath, value`

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

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

Method Summary
`void` | `evaluateExtraParams()`
`protected java.lang.String` | `getDefaultTemplate()` A contract that requires each concrete UI Tag to specify which template should be used as a default.
`void` | `setEmptyOption(java.lang.String emptyOption)`
`void` | `setHeaderKey(java.lang.String headerKey)`
`void` | `setHeaderValue(java.lang.String headerValue)`
`void` | `setMultiple(java.lang.String multiple)`
`void` | `setSize(java.lang.String size)`

Methods inherited from class org.apache.struts2.components.ListUIBean
`contains, getValueClassType, setList, setListKey, setListValue, setThrowExceptionOnNullValueAttribute`

Methods inherited from class org.apache.struts2.components.UIBean
`addFormParameter, buildTemplateName, enableAncestorFormCustomOnsubmit, end, ensureAttributeSafelyNotEscaped, escape, evaluateNameValue, evaluateParams, getId, getTemplate, getTemplateDir, getTheme, getTooltipConfig, mergeTemplate, populateComponentHtmlId, setAccesskey, setCssClass, setCssErrorClass, setCssErrorStyle, setCssStyle, setDefaultTemplateDir, setDefaultUITheme, setDisabled, setDynamicAttributes, setId, setJavascriptTooltip, setKey, setLabel, setLabelposition, setLabelSeparator, setName, setOnblur, setOnchange, setOnclick, setOndblclick, setOnfocus, setOnkeydown, setOnkeypress, setOnkeyup, setOnmousedown, setOnmousemove, setOnmouseout, setOnmouseover, setOnmouseup, setOnselect, setRequired, setRequiredposition, setTabindex, setTemplate, setTemplateDir, setTemplateEngineManager, setTheme, setTitle, setTooltip, setTooltipConfig, setTooltipCssClass, setTooltipDelay, setTooltipIconPath, setValue`

Methods inherited from class org.apache.struts2.components.Component
`addAllParameters, addParameter, altSyntax, altSyntax, completeExpressionIfAltSyntax, copyParams, determineActionURL, determineNamespace, end, fieldError, findAncestor, findString, findString, findStringIfAltSyntax, findValue, findValue, findValue, getComponentStack, getParameters, getStack, popComponentStack, setActionMapper, setThrowExceptionsOnELFailure, start, stripExpressionIfAltSyntax, 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 java.lang.String TEMPLATE

See Also:
  Constant Field Values

### emptyOption

    protected java.lang.String emptyOption

### headerKey

    protected java.lang.String headerKey

### headerValue

    protected java.lang.String headerValue

### multiple

    protected java.lang.String multiple

### size

    protected java.lang.String size

Constructor Detail

### Select

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

Method Detail

### getDefaultTemplate

    protected java.lang.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(java.lang.String emptyOption)

### setHeaderKey

    public void setHeaderKey(java.lang.String headerKey)

### setHeaderValue

    public void setHeaderValue(java.lang.String headerValue)

### setMultiple

    public void setMultiple(java.lang.String multiple)

### setSize

    public void setSize(java.lang.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-2011 Apache Software Foundation. All Rights Reserved.