When I use f:selectItems to display items in a Map I cannot display the value of the Map item, only the key. f:selectItems does not use the itemLabel at all. When I use a
Your question is sound, but the code makes it confusing and ambiguous. I'll just ignore your code in this answer.
As to the concrete question "How to use Map in ", you need to realize that map keys are by default been used as item labels and that map values are by default been used as item values. You seem to expect it to be the other way round (honestly, I'd intuitively also expect that, but that was just a design desicion --the map key forces uniqueness and option labels should in UI perspective definitely be unique, but option values does not necessarily need to be unique).
So, this should do (note that I use LinkedHashMap here as it maintains the insertion order):
map = new LinkedHashMap();
map.put("Label 1", "value1");
map.put("Label 2", "value2");
map.put("Label 3", "value3");
with
If you want so swap the keys and values, then you should be iterating over Map#entrySet(). This works only when your environment supports EL 2.2 as you have to invoke it by a direct method invocation as there's no getter for that.
E.g.
map = new LinkedHashMap();
map.put("value1", "Label 1");
map.put("value2", "Label 2");
map.put("value3", "Label 3");
with