org.apache.struts2.components

## Class DoubleSelect

- java.lang.Object
- - org.apache.struts2.components.Component
  - - org.apache.struts2.components.UIBean
    - - org.apache.struts2.components.ListUIBean
      - - org.apache.struts2.components.DoubleListUIBean
        - - org.apache.struts2.components.DoubleSelect

-     public class DoubleSelect
      extends DoubleListUIBean

  Renders two HTML select elements with second one changing displayed values depending on selected entry of first one.

  Examples

       <s:doubleselect label="doubleselect test1" name="menu" list="{'fruit','other'}" doubleName="dishes" doubleList="top == 'fruit' ? {'apple', 'orange'} : {'monkey', 'chicken'}" />
       <s:doubleselect label="doubleselect test2" name="menu" list="#{'fruit':'Nice Fruits', 'other':'Other Dishes'}" doubleName="dishes" doubleList="top == 'fruit' ? {'apple', 'orange'} : {'monkey', 'chicken'}" />

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `TEMPLATE`

    - ### Fields inherited from class org.apache.struts2.components.DoubleListUIBean

      `doubleAccesskey, doubleCssClass, doubleCssStyle, doubleDisabled, doubleEmptyOption, doubleHeaderKey, doubleHeaderValue, doubleId, doubleList, doubleListCssClass, doubleListCssStyle, doubleListKey, doubleListTitle, doubleListValue, doubleMultiple, doubleName, doubleOnblur, doubleOnchange, doubleOnclick, doubleOndblclick, doubleOnfocus, doubleOnkeydown, doubleOnkeypress, doubleOnkeyup, doubleOnmousedown, doubleOnmousemove, doubleOnmouseout, doubleOnmouseover, doubleOnmouseup, doubleOnselect, doubleSize, doubleValue, emptyOption, formName, headerKey, headerValue, multiple, size`

    - ### 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, ATTR_FIELD_VALUE, ATTR_NAME_VALUE, ATTR_VALUE, cspNonceReader, 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, uiStaticContentPath, uiThemeExpansionToken, value`

    - ### Fields inherited from class org.apache.struts2.components.Component

      `actionMapper, COMPONENT_STACK, devMode, escapeHtmlBody, parameters, performClearTagStateForTagPoolingServers, stack, standardAttributesMap, throwExceptionOnELFailure`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DoubleSelect(ValueStack stack, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `evaluateExtraParams()`
    `protected String` | `getDefaultTemplate()` A contract that requires each concrete UI Tag to specify which template should be used as a default.

    - ### Methods inherited from class org.apache.struts2.components.DoubleListUIBean

      `getDoubleCssClass, getDoubleCssStyle, getDoubleDisabled, getDoubleEmptyOption, getDoubleHeaderKey, getDoubleHeaderValue, getDoubleId, getDoubleList, getDoubleListKey, getDoubleListValue, getDoubleMultiple, getDoubleName, getDoubleOnblur, getDoubleOnchange, getDoubleOnclick, getDoubleOndblclick, getDoubleOnfocus, getDoubleOnkeydown, getDoubleOnkeypress, getDoubleOnkeyup, getDoubleOnmousedown, getDoubleOnmousemove, getDoubleOnmouseout, getDoubleOnmouseover, getDoubleOnmouseup, getDoubleOnselect, getDoubleSize, getDoubleValue, getFormName, setDoubleAccesskey, setDoubleCssClass, setDoubleCssStyle, setDoubleDisabled, setDoubleEmptyOption, setDoubleHeaderKey, setDoubleHeaderValue, setDoubleId, setDoubleList, setDoubleListCssClass, setDoubleListCssStyle, setDoubleListKey, setDoubleListTitle, setDoubleListValue, setDoubleMultiple, setDoubleName, setDoubleOnblur, setDoubleOnchange, setDoubleOnclick, setDoubleOndblclick, setDoubleOnfocus, setDoubleOnkeydown, setDoubleOnkeypress, setDoubleOnkeyup, setDoubleOnmousedown, setDoubleOnmousemove, setDoubleOnmouseout, setDoubleOnmouseover, setDoubleOnmouseup, setDoubleOnselect, setDoubleSize, setDoubleValue, setEmptyOption, setFormName, setHeaderKey, setHeaderValue, setMultiple, setSize`

    - ### 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, applyValueParameter, buildTemplateName, copyParams, enableAncestorFormCustomOnsubmit, end, ensureAttributeSafelyNotEscaped, escape, evaluateNameValue, evaluateParams, getId, getTemplate, getTemplateDir, getTheme, getTooltipConfig, lazyEvaluation, mergeTemplate, populateComponentHtmlId, setAccesskey, setCspNonceReader, 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, setStaticContentPath, 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, clearStandardAttributesMap, completeExpression, determineActionURL, determineNamespace, end, escapeHtmlBody, fieldError, findAncestor, findString, findString, findValue, findValue, findValue, getAttributes, getComponentStack, getNamespace, getParameters, getPerformClearTagStateForTagPoolingServers, getStack, getStandardAttributes, isAcceptableExpression, isValidTagAttribute, popComponentStack, setActionMapper, setDevMode, setEscapeHtmlBody, setNotExcludedAcceptedPatterns, setPerformClearTagStateForTagPoolingServers, setThrowExceptionsOnELFailure, setUrlHelper, start, stripExpression, 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

  - ### Constructor Detail

    - #### DoubleSelect

          public DoubleSelect(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 `DoubleListUIBean`

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