我有一个SelectItem对象数组
SelectItem[] list;
<h:selectOneMenu value="#{Bean.id}">
<f:selectItems value="#{Bean.list}"/>
</h:selectOneMenu>
我可以获得身份但我怎么能得到标签......
答案 0 :(得分:1)
项目标签不会作为请求参数发送,只会作为项目值发送。这是HTML规范。但是你根本不需要从请求中获取它。你在支持bean的list
中已经已经了。如果您将其设为Map<K, V>
而不是SelectItem[]
,那么您应该可以轻松获得与所选值相关联的标签。
String label = map.get(value);
// ...
在JSF 2.x / EL 2.2中,您可以在Map<K, V>
中使用<f:selectItems>
,但如果您仍然使用旧的JSF 1.x,则应该烘焙另一个SelectItem[]
}或List<SelectItem>
基于该地图。