You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by "Walter Oliver (BR/ICI3)" <ol...@boschrexroth.de> on 2007/05/23 11:43:11 UTC
selectItems and converter
Hi all,
just a question about using SelectItems and converter.
I have the following code:
<h:selectOneMenu id="levelFilter" value="#{commands.levelFilter}"
valueChangeListener="#{commands.filter}" onchange="submit()"
converter="levelConverter">
<f:selectItems value="#{commands.levelList}" />
</h:selectOneMenu>
and in my Bean:
public List<SelectItem> getLevelList() {
List<SelectItem> levelList = new LinkedList();
for(int i = 0; i <= level; i++) {
levelList.add(new SelectItem(i));
}
return levelList;
}
So far it looks good, but on client side i get:
<option value="Level 1" selected="selected">0</option>
<option value="Level 2" selected="selected">1</option>
....
Instead of expected
<option value="0" selected="selected">Level 1</option>
<option value="1">Level 2</option>
....
Any idea to get the options name and value get turned around?
Regards Oliver
Re: selectItems and converter
Posted by Svilen Ivanov <sv...@gmail.com>.
Use the SelectItem constructor for label *and* value:
SelectItem(java.lang.Object value, java.lang.String label)
This way you can specify both value of the option tag and the label
displayed to in the dropdown.
2007/5/23, Walter Oliver (BR/ICI3) <ol...@boschrexroth.de>:
> Hi all,
>
> just a question about using SelectItems and converter.
>
>
> I have the following code:
>
> <h:selectOneMenu id="levelFilter" value="#{commands.levelFilter}"
> valueChangeListener="#{commands.filter}" onchange="submit()"
> converter="levelConverter">
> <f:selectItems value="#{commands.levelList}" />
> </h:selectOneMenu>
>
>
> and in my Bean:
>
> public List<SelectItem> getLevelList() {
>
> List<SelectItem> levelList = new LinkedList();
>
> for(int i = 0; i <= level; i++) {
> levelList.add(new SelectItem(i));
> }
>
> return levelList;
> }
>
>
> So far it looks good, but on client side i get:
>
> <option value="Level 1" selected="selected">0</option>
> <option value="Level 2" selected="selected">1</option>
> ....
>
> Instead of expected
>
> <option value="0" selected="selected">Level 1</option>
> <option value="1">Level 2</option>
> ....
>
>
>
> Any idea to get the options name and value get turned around?
>
> Regards Oliver
>