another jsf <f:selectItems> itemValue and message bundle question
i have a selectOneMenu with selectitems. if i use
<f:selectItem itemValue="3" itemLabel="#{hrBundle['phoneType3']}"/>
it works wel开发者_如何学编程l, displaying the localized label. i have more options inside a List and when i use f:selectItems, it stops working. this code:
<f:selectItems value="#{values}" var="item" itemLabel="#{hrBundle[item.label]}" itemValue="item.value"/>
shows the key('phoneType3') as label, and even
<f:selectItems value="#{values}" var="item" itemLabel="#{hrBundle['phoneType3']}" itemValue="item.value"/>
('hardcoded' as the single f:selectItem above) displays the key ('phoneType3') instead of the localized label.
any idea what i am doing wrong?
It depends on what the key in your bundle file is. If the key in your bundle ist the content of item.value
, do the following:
<f:selectItems value="#{myBean.values}"
var="item"
itemLabel="#{hrBundle[item.value]}"
itemValue="#{item.value}"/>
I don't know, if this is your original code. If yes, notice the following:
- You have to reference a backing bean
in your
value
attribute (as shown above: replacemyBean
with your beans name). - The
itemValue
attribute needs an el expression as well:itemValue= "#{item.value}"
精彩评论