I want to create mutiple ComboBoxes from a Map containing label for the box as key and an object having [possible values, selected value] as Value (id=bundleItemDecoration).
This map is updated on value change of another ComboBox (id=bundleType).
Code works fine when rendered for the first time, but behaves wierd when re-rendered.
When I change the value in ComboBox (id=bundleType), Map is updated and labels (id=bundleItemDecoration) are displayed correctly on the Page but possible values in their corresponding ComboBoxes (id=bundleItemDecoration) are not changed.
We don't have many rules here at the JavaRanch, but we do insist that you use your Real Name and not some sort of "handle" or obvious alias. If you're not sure about this, see
Normally I don't offer advice until after people have cleaned up their act, but I will say one thing in the mean time: DON'T use JSTL with JSF. It doesn't work very well, and there's nothing JSTL can do that straight JSF can't do.
Customer surveys are for companies who didn't pay proper attention to begin with.
Joined: Nov 17, 2011
The issue is now solved. Rootcause was the usage of Map to hold the data.
Combobox once rendered on the UI keeps refering to same data pointer e.g.
will keep on pointing to the soSuggestionList of same key in the HashMap even if c:forEach has rerendered the UI component.
Solution is to use List instead of map. On re-rendering the UI component, we will actually change the binding data to the suggestionValues property of rich:comboBox.
Final working piece of code (with few more modifications) -