optiontransferselect
Please make sure you have read the Tag Syntax document and understand how tag attribute syntax works.
NOTE: that the
doublelistkeyanddoublelistvalueattribute will default tokeyandvaluerespectively only when thedoublelistattribute is evaluated to a Map or its descendant. Other thing else, will result indoublelistkeyanddoublelistvalueto be null and not used.
Description
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 submission.
NOTE: The
idanddoubleIdneed not be supplied as they will generated provided that theoptiontransferselecttag is being used in a form tag. The generatedidanddoubleIdwill be<form_id>_<optiontransferselect_name>and<form_id>_<optiontransferselect_doubleName>respectively.
Renders an input form
Attributes
Dynamic Attributes Allowed:false |
|||||
Name |
Required |
Default |
Evaluated |
Type |
Description |
|---|---|---|---|---|---|
| accesskey | false | false | String | Set the html accesskey attribute on rendered html element | |
| addAllToLeftLabel | false | false | String | Set Add To Left button label | |
| addAllToLeftOnclick | false | false | String | Javascript to run after Add All To Left button pressed | |
| addAllToRightLabel | false | false | String | Set Add All To Right button label | |
| addAllToRightOnclick | false | false | String | Javascript to run after Add All To Right button pressed | |
| addToLeftLabel | false | false | String | Set Add To Left button label | |
| addToLeftOnclick | false | false | String | Javascript to run after Add To Left button pressed | |
| addToRightLabel | false | false | String | Set Add To Right button label | |
| addToRightOnclick | false | false | String | Javascript to run after Add To Right button pressed | |
| allowAddAllToLeft | false | false | String | Enable Add All To Left button | |
| allowAddAllToRight | false | false | String | Enable Add All To Right button | |
| allowAddToLeft | false | false | String | Enable Add To Left button | |
| allowAddToRight | false | false | String | Enable Add To Right button | |
| allowSelectAll | false | false | String | Enable Select All button | |
| allowUpDownOnLeft | false | false | String | Enable up / down on the left side | |
| allowUpDownOnRight | false | false | String | Enable up / down on the right side | |
| buttonCssClass | false | false | String | Set buttons css class | |
| buttonCssStyle | false | false | String | Set button css style | |
| class | false | false | String | (Deprecated) The css class to use for element - it's an alias of cssClass attribute. | |
| cssClass | false | false | String | The css class to use for element | |
| cssErrorClass | false | false | String | The css error class to use for element | |
| cssErrorStyle | false | false | String | The css error style definitions for element to use | |
| cssStyle | false | false | String | The css style definitions for element to use | |
| disabled | false | false | String | Set the html disabled attribute on rendered html element | |
| doubleAccesskey | false | false | String | Set the html accesskey attribute. | |
| doubleCssClass | false | false | String | The css class for the second list | |
| doubleCssStyle | false | false | String | The css style for the second list | |
| doubleDisabled | false | false | String | Decides if a disable attribute should be added to the second list | |
| doubleEmptyOption | false | false | String | Decides if the second list will add an empty option | |
| doubleHeaderKey | false | false | String | The header key for the second list | |
| doubleHeaderValue | false | false | String | The header value for the second list | |
| doubleId | false | false | String | The id of the second list | |
| doubleList | true | false | String | The second iterable source to populate from. | |
| doubleListCssClass | false | false | String | Property of second list objects to get css class from | |
| doubleListCssStyle | false | false | String | Property of second list objects to get css style from | |
| doubleListKey | false | false | String | The key expression to use for second list | |
| doubleListTitle | false | false | String | Property of second list objects to get title from | |
| doubleListValue | false | false | String | The value expression to use for second list | |
| doubleMultiple | false | false | String | Decides if multiple attribute should be set on the second list | |
| doubleName | true | false | String | The name for complete component | |
| doubleOnblur | false | false | String | Set the onblur attribute of the second list | |
| doubleOnchange | false | false | String | Set the onchange attribute of the second list | |
| doubleOnclick | false | false | String | Set the onclick attribute of the second list | |
| doubleOndblclick | false | false | String | Set the ondbclick attribute of the second list | |
| doubleOnfocus | false | false | String | Set the onfocus attribute of the second list | |
| doubleOnkeydown | false | false | String | Set the onkeydown attribute of the second list | |
| doubleOnkeypress | false | false | String | Set the onkeypress attribute of the second list | |
| doubleOnkeyup | false | false | String | Set the onkeyup attribute of the second list | |
| doubleOnmousedown | false | false | String | Set the onmousedown attribute of the second list | |
| doubleOnmousemove | false | false | String | Set the onmousemove attribute of the second list | |
| doubleOnmouseout | false | false | String | Set the onmouseout attribute of the second list | |
| doubleOnmouseover | false | false | String | Set the onmouseover attribute of the second list | |
| doubleOnmouseup | false | false | String | Set the onmouseup attribute of the second list | |
| doubleOnselect | false | false | String | Set the onselect attribute of the second list | |
| doubleSize | false | false | String | Set the size attribute of the second list | |
| doubleValue | false | false | String | The value expression for complete component | |
| emptyOption | false | false | false | Boolean | Decides of an empty option is to be inserted in the second list |
| errorPosition | false | false | String | Define error position of form element (top|bottom) | |
| formName | false | false | String | The form name this component resides in and populates to | |
| headerKey | false | false | String | Set the header key of the second list. Must not be empty! '-1' and '' is correct, '' is bad. | |
| headerValue | false | false | String | Set the header value of the second list | |
| id | false | false | String | HTML id attribute | |
| javascriptTooltip | false | false | false | Boolean | Use JavaScript to generate tooltips |
| key | false | false | String | Set the key (name, value, label) for this particular component | |
| label | false | false | String | Label expression used for rendering an element specific label | |
| labelPosition | false | false | String | Define label position of form element (top/left) | |
| labelSeparator | false | : | false | String | String that will be appended to the label |
| labelposition | false | false | String | (Deprecated) Define label position of form element (top/left) | |
| leftDownLabel | false | false | String | Down label for the left side. | |
| leftTitle | false | false | String | Set Left title | |
| leftUpLabel | false | false | String | Up label for the left side | |
| list | true | false | String | Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body. | |
| listCssClass | false | false | String | Property of list objects to get css class from | |
| listCssStyle | false | false | String | Property of list objects to get css style from | |
| listKey | false | false | String | Property of list objects to get field value from | |
| listLabelKey | false | false | String | Property of list objects to be used to lookup for localised version of field label | |
| listTitle | false | false | String | Property of list objects to get title from | |
| listValue | false | false | String | Property of list objects to get field content from | |
| listValueKey | false | false | String | Property of list objects to get field value label from | |
| multiple | false | false | String | Creates a multiple select. The tag will pre-select multiple values if the values are passed as an Array (of appropriate types) via the value attribute. | |
| name | false | false | String | The name to set for element | |
| onblur | false | false | String | Set the html onblur attribute on rendered html element | |
| onchange | false | false | String | Set the html onchange attribute on rendered html element | |
| onclick | false | false | String | Set the html onclick attribute on rendered html element | |
| ondblclick | false | false | String | Set the html ondblclick attribute on rendered html element | |
| onfocus | false | false | String | Set the html onfocus attribute on rendered html element | |
| onkeydown | false | false | String | Set the html onkeydown attribute on rendered html element | |
| onkeypress | false | false | String | Set the html onkeypress attribute on rendered html element | |
| onkeyup | false | false | String | Set the html onkeyup attribute on rendered html element | |
| onmousedown | false | false | String | Set the html onmousedown attribute on rendered html element | |
| onmousemove | false | false | String | Set the html onmousemove attribute on rendered html element | |
| onmouseout | false | false | String | Set the html onmouseout attribute on rendered html element | |
| onmouseover | false | false | String | Set the html onmouseover attribute on rendered html element | |
| onmouseup | false | false | String | Set the html onmouseup attribute on rendered html element | |
| onselect | false | false | String | Set the html onselect attribute on rendered html element | |
| performClearTagStateForTagPoolingServers | false | false | false | Boolean | Whether to clear all tag state during doEndTag() processing (if applicable) |
| requiredLabel | false | false | false | Boolean | If set to true, the rendered element will indicate that input is required |
| requiredPosition | false | false | String | Define required position of required form element (left|right) | |
| rightDownLabel | false | false | String | Down label for the left side. | |
| rightTitle | false | false | String | Set Right title | |
| rightUpLabel | false | false | String | Up label for the right side. | |
| selectAllLabel | false | false | String | Set Select All button label | |
| selectAllOnclick | false | false | String | Javascript to run after Select All button pressed | |
| size | false | false | Integer | Size of the element box (# of elements to show) | |
| style | false | false | String | The css style definitions for element to use - it's an alias of cssStyle attribute. | |
| tabindex | false | false | String | Set the html tabindex attribute on rendered html element | |
| template | false | false | String | The template (other than default) to use for rendering the element | |
| templateDir | false | false | String | The template directory. | |
| theme | false | false | String | The theme (other than default) to use for rendering the element | |
| title | false | false | String | Set the html title attribute on rendered html element | |
| tooltip | false | false | String | Set the tooltip of this particular component | |
| tooltipConfig | false | false | String | Deprecated. Use individual tooltip configuration attributes instead. | |
| tooltipCssClass | false | StrutsTTClassic | false | String | CSS class applied to JavaScrip tooltips |
| tooltipDelay | false | Classic | false | String | Delay in milliseconds, before showing JavaScript tooltips |
| tooltipIconPath | false | false | String | Icon path used for image that will have the tooltip | |
| upDownOnLeftOnclick | false | false | String | Javascript to run after up / down on the left side buttons pressed | |
| upDownOnRightOnclick | false | false | String | Javascript to run after up / down on the right side buttons pressed | |
| value | false | false | String | Preset the value of input element. | |
Dynamic attributes
The tag supports dynamic attributes but if you want to add the attributes to the right control which is generated
by the tag use the right- prefix as below:
<s:ioptiontransferselect ... right-control-id="id2"/>
The prefix will be stripped while generating the second control.
Examples
Minimum example
<s:optiontransferselect
label="Favourite Cartoons Characters"
name="leftSideCartoonCharacters"
list="{'Popeye', 'He-Man', 'Spiderman'}"
doubleName="rightSideCartoonCharacters"
doubleList="{'Superman', 'Mickey Mouse', 'Donald Duck'}"
/>
Possible example
<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"
/>