Nirmal
Nirmal

Reputation: 4829

combo box in spring web mvc

I am using spring web mvc for my app's UI part..

By using following code, i am getting List Box where i can select more then 1 value..

<form:select path="domainsList">
<form:options items="${domainsList}" itemValue="domain" itemLabel="domain"/>
</form:select>

But I need a drop down combo box...

Can any one suggest how can i convert it to combo box ?

Thanks in advance..

Upvotes: 5

Views: 18080

Answers (3)

Triqui
Triqui

Reputation: 69

Spring will decide the type of field to use depending on the type of data, so if the 'path' field is an object, it will show a dropdown, but if it is a "list" (array, collection, ...) it will show a list, unless you specify multiple="false"

This will show a list with multiple selection:

Integer[] ids;
<form:select path="ids" items="${whatever}" />

This will show a dropdown with single selection:

Integer id;
<form:select path="id" items="${whatever}" />

This will also show a dropdown with single selection:

Integer[] ids;
<form:select path="ids" items="${whatever}" multiple="false" />

Upvotes: 3

Nirmal
Nirmal

Reputation: 4829

Sorry, for asking silly question.. But i got working combo box by following code :

<form:select path="domainsList" multiple="false" size="1">
<form:options items="${domainsList}" itemValue="domain" itemLabel="domain"/>
</form:select>
</form:form>

Upvotes: 3

squiddle
squiddle

Reputation: 1317

The spring "form:select" tag just wraps the HTML select element. It also has an attribute size which has to be set to a value of 1 to let this selection become rendered as a combobox (in most browsers).

this is basic HTML: http://www.w3.org/TR/html4/interact/forms.html#adef-size-SELECT

<form:select path="domainsList" size="1">
   <form:options items="${domainsList}" itemValue="domain" itemLabel="domain"/>
</form:select>

@Nirmal please check your markup. This should work.

<html>
    <SELECT name="selection" size="1">
        <OPTION selected label="none" value="none">None</OPTION>
        <OPTION label="1" value="1">OPTION 1</OPTION>
        <OPTION label="2" value="2">OPTION 2</OPTION>
        <OPTION label="3" value="3">OPTION 3</OPTION>
    </SELECT>
</html>

Upvotes: 0

Related Questions