| NetUI Tag Library Documentation (Version 1.0.2) | ||||||
DETAIL: Syntax | Description | Attributes | Example | Tag Info |
FRAMES NO FRAMES |
Renders an HTML <select> tag containing a set of selectable options.
Syntax |
<netui:select
[accessKey="string_accessKey"]
dataSource="expression_datasource"
[defaultValue="string_or_expression_default"]
[dir="string_dir"]
[disabled="boolean_disabled"]
[lang="string_lang"]
[multiple="boolean_multipleSelectEnabled"]
[nullable="boolean_nullable"]
[nullableOptionText="boolean_nullableOptionText"]
[onBlur="string_onBlur"]
[onChange="string_onChange"]
[onClick="string_onClick"]
[onDblClick="string_onDblClick"]
[onFocus="string_onFocus"]
[onKeyDown="string_onKeyDown"]
[onKeyPress="string_onKeyPress"]
[onKeyUp="string_onKeyUp"]
[onMouseDown="string_onMouseDown"]
[onMouseMove="string_onMouseMove"]
[onMouseOut="string_onMouseOut"]
[onMouseOver="string_onMouseOver"]
[onMouseUp="string_onMouseUp"]
[optionsDataSource="expression_options_datasource"]
[repeater="boolean_repeater"]
[repeatingOrder="string_order"]
[size="integer_size"]
[style="string_style"]
[styleClass="string_styleClass"]
[tabindex="string_tabIndex"]
[tagId="string_tagId"]
[title="string_title"] >
... JSP content ...
</netui:select>
Description |
The <netui:select> tag can generate a set of selectable options in two ways:
- they can be dynamically generated by pointing the <netui:select> tag at a String[] object or
HashMap
- they can be statically generated by providing a set of children <netui:selectOption> tags
Dynamically Generated Options
You can dynamically generate a set of selectable options by pointing the <netui:select> tag at a String[].
public String[] colors = {"red", "green", "blue", "orange", "pink", "aqua", "black", "brown", "tan"}; public String[] getColors() { return colors; }
To point the <netui:select> tag at the String[] object use the
optionsDataSource
attribute.
<netui:select dataSource="actionForm.selection" optionsDataSource="${pageFlow.colors}"/>Note that you can make the display value and the submitted value differ by pointing the optionsDataSource attribute of the <netui:select> tag at a HashMap object. (Any object that implements the
Map
interface will work.)
public HashMap optionsMap = new HashMap(); protected HashMap getOptionsMap() { return optionsMap; } protected void onCreate() { optionsMap.put("#ff3333", "red"); optionsMap.put("#3333ff", "blue"); optionsMap.put("#33ff33", "green"); }
However, you cannot use a Map object if you choose to use the Select as a repeater (setting the attribute repeater="true").
Point the <netui:select> at the Map object using the optionsDataSource
attribute.
<netui:select dataSource="actionForm.selection" optionsDataSource="${pageFlow.optionsMap}"/>The following HTML will be generated.
<select name="wlw-select_key:{actionForm.selection}"> <option value="#3333ff">blue</option> <option value="#33ff33">green</option> <option value="#ff3333">red</option> </select>
Statically Generated Options
To statically generate selecable options, place a set of <netui:selectOption> tags inside the <netui:select> tag.
<netui:select dataSource="actionForm.selection" size="5"> <netui:selectOption value="red" /> <netui:selectOption value="blue" /> <netui:selectOption value="green" /> <netui:selectOption value="yellow" /> <netui:selectOption value="orange" /> </netui:select>
Submitting Selections
A <netui:select> is submitted as a String or String[] object, depending on whether the
multiple
attribute is set to true. In the following example, the dataSource
attribute points at a String[] object.
</netui:select dataSource="actionForm.selections"...
In this case, the <netui:select> tag submits to a String[] field of a Form Bean.
public static class SubmitForm extends FormData { private String[] selections; public void setSelections(String[] selections) { this.selections = selections; } public String[] getSelections() { return this.selections; } }
Use Select as a Repeater with Multiple Repeating Types
Optionally, use the <netui:select> tag as a repeater to render multiple options
from the dataSource
and defaultValue
attributes as well as
the optionsDataSource
. The <netui:select> element can dynamically generate
option elements for different repeating types of "option", "dataSource", "default",
(optionsDataSource, dataSource, and defaultValue attributes respectively) and "null".
The Select repeatingOrder
attribute sets the order that repeating types
are generated. The repeatingType
attribute on the <netui:selectOption>
tag identifies each of the types to be rendered.
Use JSTL boolean conditional tags with the <netui:selectOption> elements
to help manage repeaters of different data types.
For example, the dataSource
could point to a String[] while
the optionsDataSource
points to an Object[] where each object has
name and value fields...
<netui:select dataSource="actionForm.selections" optionsDataSource="${pageFlow.options}" repeatingOrder="dataSource,option" repeater="true" multiple="true"> <c:if test="${container.metadata.dataSourceStage}"> <netui:selectOption repeatingType="dataSource" value="${container.item}"> <netui:span value="${container.item}" /> </netui:selectOption> </c:if> <c:if test="${container.metadata.optionStage}"> <netui:selectOption repeatingType="option" value="${container.item.name}"> <netui:span value="${container.item.value}" /> </netui:selectOption> </c:if> </netui:select>
Attributes | ||
accessKey |
The keyboard navigation key for the element. The following values are not recommended because they are often used by browsers: A, C, E, F, G,
H, V, left arrow, and right arrow |
|
dataSource |
The For example, assume that the Controller file (= JPF file) contains a Form Bean with the property foo. Then the following <netui:textBox> tag will (1) draw populating data from the Form Bean's foo property and (2) submit user defined data to the same property. The When the tag is used to submit data, the data binding expression must refer to a Form Bean property. In cases where the tag is not used to submit data, but is used for displaying data only, the data binding expression need not refer to a Form Bean property. For example, assume that myIterativeData is a member variable on the Controller file ( = JPF file). The following <netui-data:repeater> tag draws its data from myIterativeData. |
|
defaultValue |
Use in <netui:checkBoxGroup>, <netui:checkBox>, <netui:radioButtonGroup>, and <netui:select> tags Sets the preselected value or values. The If the If the Use in <netui:textArea> and <netui:textBox> tags Sets the initial display text. The |
|
dir |
Specifies the direction of text. ( LTR | RTL ) |
|
disabled |
Set the disable state either with the literal "true" or "false" or with an expression. |
|
lang |
Sets the language code for the base language of an element's attribute values and text content. |
|
multiple |
Boolean. Whether or not multi-selection is enabled. If multiple selection is enabled, a null option will not be displayed, even if the nullable is set to true. |
|
nullable |
Boolean. Whether a option with the value null should be added to the bottom of the list. If <select> has the multiple attribute set to true, the null option won't be shown. |
|
nullableOptionText |
Boolean. If the nullable attribute is set to true, then the nullableOptionText
attribute determines the display text of the null option.
The default is to use the empty string, "", as the display text. |
|
onBlur |
The onBlur JavaScript event. |
|
onChange |
The onChange JavaScript event. |
|
onClick |
The onClick JavaScript event. |
|
onDblClick |
The onDblClick JavaScript event. |
|
onFocus |
The onFocus JavaScript event. |
|
onKeyDown |
The onKeyDown JavaScript event. |
|
onKeyPress |
The onKeyPress JavaScript event. |
|
onKeyUp |
The onKeyUp JavaScript event. |
|
onMouseDown |
The onMouseDown JavaScript event. |
|
onMouseMove |
The onMouseMove JavaScript event. |
|
onMouseOut |
The onMouseOut JavaScript event. |
|
onMouseOver |
The onMouseOver JavaScript event. |
|
onMouseUp |
The onMouseUp JavaScript event. |
|
optionsDataSource |
Sets the options datasource value (an expression). |
|
repeater |
Set whether repeating of contained options is on. |
|
repeatingOrder |
Define the order of options generated for a repeating Select. It must contain a comma separated string listing the order or the stages that the repeating types are processed. These values are "option", "dataSource", "default", and "null". For example, repeatingOrder="dataSource,option"Then a <netui:selectOption> element could set the repeatingType attribute to "dataSource" while another is defined for "option". |
|
size |
The number of visible options |
|
style |
Specifies style information for the current element. |
|
styleClass |
The style class (a style sheet selector). |
|
tabindex |
The tabIndex of the rendered HTML tag. This attribute determines the position of the tag in the sequence of page elements that the user may advance through by pressing the TAB key. |
|
tagId |
String value. Sets the For example, assume that some tag's <netui:textBox tagId="foo" /> Then the following JavaScript function will return the real id attribute rendered in the browser: lookupIdByTagId( "foo", this ) To get a <netui:form> element and all of its children elements in JavaScript, use
the same JavaScript function <netui:form tagId="bar" > Then the following JavaScript function will return the <netui:form> element and its children (packaged as an array). document[lookupIdByTagId( "bar", this )] To retreive the value entered into a <netui:textBox> within the <netui:form> tag, use the following JavaScript expression. document[lookupIdByTagId("bar", this)][lookupIdByTagId("foo", this)].value The second parameter ensures that the JavaScript function
begins its search within the correct Portlet scope. Pass the
JavaScript keyword |
|
title |
The title. |
Example |
The following sample uses the optionsDataSource
attribute to reference a
dynamically generated dropdown list.
<netui:select dataSource="actionForm.selectedOption" optionsDataSource="${actionForm.itemOptions}" />
Assume that the optionsDataSource
attribute refers to
a java.util.Map
object.
The Map object will be rendered as a series
of <option> tags. HTML that is similar to the following will be
rendered in the browser:
<select name="wlw-select_key:{actionForm.itemOptions}"> <option value="633">Aurora Bridge</option> <option value="631">FA-18 fighter jet</option> <option value="635">Space Needle</option> <option value="642">Thin Mints</option> ... </select>
Tag Information | |
Tag Class | org.apache.beehive.netui.tags.html.Select |
TagExtraInfo Class | None |
Body Content | JSP |
Display Name | None |
|
||||||
DETAIL: Syntax | Description | Attributes | Example | Tag Info |
FRAMES NO FRAMES |