获取所选项目的ID和标签

时间:2011-10-12 11:00:45

标签: jsf

我有一个SelectItem对象数组

SelectItem[] list;

<h:selectOneMenu value="#{Bean.id}">                        
    <f:selectItems value="#{Bean.list}"/>
</h:selectOneMenu>

我可以获得身份但我怎么能得到标签......

1 个答案:

答案 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>基于该地图。

相关问题