File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JSF and the fly likes Getting Selection from selectOneMenu Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » JSF
Bookmark "Getting Selection from selectOneMenu" Watch "Getting Selection from selectOneMenu" New topic

Getting Selection from selectOneMenu

Dima Chornyi

Joined: Mar 25, 2009
Posts: 9
i am new to JSF and this forum, so here is my first question. I have a JSF page with a selectOneMenu on it, where the names of the EJB managed entities (retrieved from DB) are displayed. The rest of the page are mostly text fields used to edit the properties of the business entity currently selected. These fields need to be refreshed when the user first selects a new entity in the selectOneMenu and then clicks the "Ok" button. I populate the combo with a Collection of SelectItems which have my entities as value and their names as label. On submitting the form with a button how do i get the selection from the selectOneMenu? My entities are not identified by their names, that is why i need not only to get the string (value?) from the selectOneMenu, but the real object stored in the SelectItem. That is i would like to see something like this:

this code i only the product of my imagination with everything made up, but it would be great if someone tells me how i do something like this in reality.

As an alternative i tried to attach a listener to the selectOneMenu and use it to set some temporary variable in the managed bean which is then read when the "Ok" button is pressed, but first this causes the page to reload every time i change selection and second, i can't make the listener work (tried both implementig the ValueChangeListener interface and specifying a conrete method in my bean). Further, i don't fully understand the function if the "value" attribute in the <h:selectOneMenu> since there is also a "value" attribute in the <f:selectItems> element. Do i need the first one if i specify the second? Is there a way to set the selection in the selectOneMenu to a specific SelectItem? Something like selectOneMenu.setSelectionIndex(5)?

Thank you for your help.
Bauke Scholtz
Ranch Hand

Joined: Oct 08, 2006
Posts: 2458
About using objects in h:selectOneMenu: use a converter or a backing map. Also see the examples here:

About using the value attribute: use it to get or set the selected item in the bean.
I agree. Here's the link:
subject: Getting Selection from selectOneMenu
It's not a secret anymore!