optiontransferselect
Please make sure you have read the Tag Syntax document and understand how tag attribute syntax works.
NOTE: that the
doublelistkey
anddoublelistvalue
attribute will default tokey
andvalue
respectively only when thedoublelist
attribute is evaluated to a Map or its descendant. Other thing else, will result indoublelistkey
anddoublelistvalue
to 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
id
anddoubleId
need not be supplied as they will generated provided that theoptiontransferselect
tag is being used in a form tag. The generatedid
anddoubleId
will 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 | |
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 |
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"
/>