org.apache.struts2.components

## Class OptionTransferSelect

- 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.OptionTransferSelect

-     public class OptionTransferSelect
      extends DoubleListUIBean

  Create a option transfer select component which is basically two <select ...> tag with buttons in the middle of them allowing options in each of the <select ...> to be moved between themselves. Will auto-select all its elements upon its containing form submision.

  NOTE: The id and doubleId need not be supplied as they will generated provided that the optiontransferselect tag is being used in a form tag. The generated id and doubleId will be <form_id>_<optiontransferselect_nameame> and <form_id>_<optiontransferselect_doubleName> respectively.

       <-- minimum configuration -->
       <s:optiontransferselect
            label="Favourite Cartoons Characters"
            name="leftSideCartoonCharacters"
            list="{'Popeye', 'He-Man', 'Spiderman'}"
            doubleName="rightSideCartoonCharacters"
            doubleList="{'Superman', 'Mickey Mouse', 'Donald Duck'}"
        />

        <-- possible configuration -->
        <s:optiontransferselect
            label="Favourite Cartoons Characters"
            name="leftSideCartoonCharacters"
            leftTitle="Left Title"
            rightTitle="Right Title"
            list="{'Popeye', 'He-Man', 'Spiderman'}"
            multiple="true"
            headerKey="headerKey"
            headerValue="--- Please Select ---"
            emptyOption="true"
            doubleList="{'Superman', 'Mickey Mouse', 'Donald Duck'}"
            doubleName="rightSideCartoonCharacters"
            doubleHeaderKey="doubleHeaderKey"
            doubleHeaderValue="--- Please Select ---"
            doubleEmptyOption="true"
            doubleMultiple="true"
        />

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected String` | `addAllToLeftLabel`
    `protected String` | `addAllToLeftOnclick`
    `protected String` | `addAllToRightLabel`
    `protected String` | `addAllToRightOnclick`
    `protected String` | `addToLeftLabel`
    `protected String` | `addToLeftOnclick`
    `protected String` | `addToRightLabel`
    `protected String` | `addToRightOnclick`
    `protected String` | `allowAddAllToLeft`
    `protected String` | `allowAddAllToRight`
    `protected String` | `allowAddToLeft`
    `protected String` | `allowAddToRight`
    `protected String` | `allowSelectAll`
    `protected String` | `allowUpDownOnLeft`
    `protected String` | `allowUpDownOnRight`
    `protected String` | `buttonCssClass`
    `protected String` | `buttonCssStyle`
    `protected String` | `leftDownlabel`
    `protected String` | `leftTitle`
    `protected String` | `leftUpLabel`
    `protected String` | `rightDownLabel`
    `protected String` | `rightTitle`
    `protected String` | `rightUpLabel`
    `protected String` | `selectAllLabel`
    `protected String` | `selectAllOnclick`
    `protected String` | `upDownOnLeftOnclick`
    `protected String` | `upDownOnRightOnclick`

    - ### 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
    `OptionTransferSelect(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()`
    `String` | `getAddAllToLeftLabel()`
    `String` | `getAddAllToLeftOnclick()`
    `String` | `getAddAllToRightLabel()`
    `String` | `getAddAllToRightOnclick()`
    `String` | `getAddToLeftLabel()`
    `String` | `getAddToLeftOnclick()`
    `String` | `getAddToRightLabel()`
    `String` | `getAddToRightOnclick()`
    `String` | `getAllowAddAllToLeft()`
    `String` | `getAllowAddAllToRight()`
    `String` | `getAllowAddToLeft()`
    `String` | `getAllowAddToRight()`
    `String` | `getAllowSelectAll()`
    `String` | `getAllowUpDownOnLeft()`
    `String` | `getAllowUpDownOnRight()`
    `String` | `getButtonCssClass()`
    `String` | `getButtonCssStyle()`
    `protected String` | `getDefaultTemplate()` A contract that requires each concrete UI Tag to specify which template should be used as a default.
    `String` | `getLeftDownLabel()`
    `String` | `getLeftTitle()`
    `String` | `getLeftUpLabel()`
    `String` | `getRightDownLabel()`
    `String` | `getRightTitle()`
    `String` | `getRightUpLabel()`
    `String` | `getSelectAllLabel()`
    `String` | `getSelectAllOnclick()`
    `String` | `getUpDownOnLeftOnclick()`
    `String` | `getUpDownOnRightOnclick()`
    `void` | `setAddAllToLeftLabel(String addAllToLeftLabel)`
    `void` | `setAddAllToLeftOnclick(String addAllToLeftOnclick)`
    `void` | `setAddAllToRightLabel(String addAllToRightLabel)`
    `void` | `setAddAllToRightOnclick(String addAllToRightOnclick)`
    `void` | `setAddToLeftLabel(String addToLeftLabel)`
    `void` | `setAddToLeftOnclick(String addToLeftOnclick)`
    `void` | `setAddToRightLabel(String addToRightLabel)`
    `void` | `setAddToRightOnclick(String addToRightOnclick)`
    `void` | `setAllowAddAllToLeft(String allowAddAllToLeft)`
    `void` | `setAllowAddAllToRight(String allowAddAllToRight)`
    `void` | `setAllowAddToLeft(String allowAddToLeft)`
    `void` | `setAllowAddToRight(String allowAddToRight)`
    `void` | `setAllowSelectAll(String allowSelectAll)`
    `void` | `setAllowUpDownOnLeft(String allowUpDownOnLeft)`
    `void` | `setAllowUpDownOnRight(String allowUpDownOnRight)`
    `void` | `setButtonCssClass(String buttonCssClass)`
    `void` | `setButtonCssStyle(String buttonCssStyle)`
    `void` | `setLeftDownLabel(String leftDownLabel)`
    `void` | `setLeftTitle(String leftTitle)`
    `void` | `setLeftUpLabel(String leftUpLabel)`
    `void` | `setRightDownLabel(String rightDownlabel)`
    `void` | `setRightTitle(String rightTitle)`
    `void` | `setRightUpLabel(String rightUpLabel)`
    `void` | `setSelectAllLabel(String selectAllLabel)`
    `void` | `setSelectAllOnclick(String selectAllOnclick)`
    `void` | `setUpDownOnLeftOnclick(String upDownOnLeftOnclick)`
    `void` | `setUpDownOnRightOnclick(String upDownOnRightOnclick)`

    - ### 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

    - #### allowAddToLeft

          protected String allowAddToLeft

    - #### allowAddToRight

          protected String allowAddToRight

    - #### allowAddAllToLeft

          protected String allowAddAllToLeft

    - #### allowAddAllToRight

          protected String allowAddAllToRight

    - #### allowSelectAll

          protected String allowSelectAll

    - #### allowUpDownOnLeft

          protected String allowUpDownOnLeft

    - #### allowUpDownOnRight

          protected String allowUpDownOnRight

    - #### leftTitle

          protected String leftTitle

    - #### rightTitle

          protected String rightTitle

    - #### buttonCssClass

          protected String buttonCssClass

    - #### buttonCssStyle

          protected String buttonCssStyle

    - #### addToLeftLabel

          protected String addToLeftLabel

    - #### addToRightLabel

          protected String addToRightLabel

    - #### addAllToLeftLabel

          protected String addAllToLeftLabel

    - #### addAllToRightLabel

          protected String addAllToRightLabel

    - #### selectAllLabel

          protected String selectAllLabel

    - #### leftUpLabel

          protected String leftUpLabel

    - #### leftDownlabel

          protected String leftDownlabel

    - #### rightUpLabel

          protected String rightUpLabel

    - #### rightDownLabel

          protected String rightDownLabel

    - #### addToLeftOnclick

          protected String addToLeftOnclick

    - #### addToRightOnclick

          protected String addToRightOnclick

    - #### addAllToLeftOnclick

          protected String addAllToLeftOnclick

    - #### addAllToRightOnclick

          protected String addAllToRightOnclick

    - #### selectAllOnclick

          protected String selectAllOnclick

    - #### upDownOnLeftOnclick

          protected String upDownOnLeftOnclick

    - #### upDownOnRightOnclick

          protected String upDownOnRightOnclick

  - ### Constructor Detail

    - #### OptionTransferSelect

          public OptionTransferSelect(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`

    - #### getAddAllToLeftLabel

          public String getAddAllToLeftLabel()

    - #### setAddAllToLeftLabel

          public void setAddAllToLeftLabel(String addAllToLeftLabel)

    - #### getAddAllToRightLabel

          public String getAddAllToRightLabel()

    - #### setAddAllToRightLabel

          public void setAddAllToRightLabel(String addAllToRightLabel)

    - #### getAddToLeftLabel

          public String getAddToLeftLabel()

    - #### setAddToLeftLabel

          public void setAddToLeftLabel(String addToLeftLabel)

    - #### getAddToRightLabel

          public String getAddToRightLabel()

    - #### setAddToRightLabel

          public void setAddToRightLabel(String addToRightLabel)

    - #### getAllowAddAllToLeft

          public String getAllowAddAllToLeft()

    - #### setAllowAddAllToLeft

          public void setAllowAddAllToLeft(String allowAddAllToLeft)

    - #### getAllowAddAllToRight

          public String getAllowAddAllToRight()

    - #### setAllowAddAllToRight

          public void setAllowAddAllToRight(String allowAddAllToRight)

    - #### getAllowAddToLeft

          public String getAllowAddToLeft()

    - #### setAllowAddToLeft

          public void setAllowAddToLeft(String allowAddToLeft)

    - #### getAllowAddToRight

          public String getAllowAddToRight()

    - #### setAllowAddToRight

          public void setAllowAddToRight(String allowAddToRight)

    - #### getLeftTitle

          public String getLeftTitle()

    - #### setAllowUpDownOnLeft

          public void setAllowUpDownOnLeft(String allowUpDownOnLeft)

    - #### getAllowUpDownOnLeft

          public String getAllowUpDownOnLeft()

    - #### setAllowUpDownOnRight

          public void setAllowUpDownOnRight(String allowUpDownOnRight)

    - #### getAllowUpDownOnRight

          public String getAllowUpDownOnRight()

    - #### setLeftTitle

          public void setLeftTitle(String leftTitle)

    - #### getRightTitle

          public String getRightTitle()

    - #### setRightTitle

          public void setRightTitle(String rightTitle)

    - #### setAllowSelectAll

          public void setAllowSelectAll(String allowSelectAll)

    - #### getAllowSelectAll

          public String getAllowSelectAll()

    - #### setSelectAllLabel

          public void setSelectAllLabel(String selectAllLabel)

    - #### getSelectAllLabel

          public String getSelectAllLabel()

    - #### setButtonCssClass

          public void setButtonCssClass(String buttonCssClass)

    - #### getButtonCssClass

          public String getButtonCssClass()

    - #### setButtonCssStyle

          public void setButtonCssStyle(String buttonCssStyle)

    - #### getButtonCssStyle

          public String getButtonCssStyle()

    - #### setLeftUpLabel

          public void setLeftUpLabel(String leftUpLabel)

    - #### getLeftUpLabel

          public String getLeftUpLabel()

    - #### setLeftDownLabel

          public void setLeftDownLabel(String leftDownLabel)

    - #### getLeftDownLabel

          public String getLeftDownLabel()

    - #### setRightUpLabel

          public void setRightUpLabel(String rightUpLabel)

    - #### getRightUpLabel

          public String getRightUpLabel()

    - #### setRightDownLabel

          public void setRightDownLabel(String rightDownlabel)

    - #### getRightDownLabel

          public String getRightDownLabel()

    - #### getAddAllToLeftOnclick

          public String getAddAllToLeftOnclick()

    - #### setAddAllToLeftOnclick

          public void setAddAllToLeftOnclick(String addAllToLeftOnclick)

    - #### getAddAllToRightOnclick

          public String getAddAllToRightOnclick()

    - #### setAddAllToRightOnclick

          public void setAddAllToRightOnclick(String addAllToRightOnclick)

    - #### getAddToLeftOnclick

          public String getAddToLeftOnclick()

    - #### setAddToLeftOnclick

          public void setAddToLeftOnclick(String addToLeftOnclick)

    - #### getAddToRightOnclick

          public String getAddToRightOnclick()

    - #### setAddToRightOnclick

          public void setAddToRightOnclick(String addToRightOnclick)

    - #### setUpDownOnLeftOnclick

          public void setUpDownOnLeftOnclick(String upDownOnLeftOnclick)

    - #### getUpDownOnLeftOnclick

          public String getUpDownOnLeftOnclick()

    - #### setUpDownOnRightOnclick

          public void setUpDownOnRightOnclick(String upDownOnRightOnclick)

    - #### getUpDownOnRightOnclick

          public String getUpDownOnRightOnclick()

    - #### setSelectAllOnclick

          public void setSelectAllOnclick(String selectAllOnclick)

    - #### getSelectAllOnclick

          public String getSelectAllOnclick()

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