从SelectManyListBox中获取选定的标签

时间:2010-09-14 20:36:47

标签: java jsf

我希望获得h:selectManyListbox所选项目的值标签。

我有这个:

<h:selectManyListbox id="myList" size="10" value="#{search.selectedItems}">
    <f:selectItems id="myListID" value="#{search.itemsList}">
</h:selectManyListbox>

问题在于,当我提交表单时,我只得到一个List<String>值,我需要两个:选择值和标签。

我怎么能得到这个?

1 个答案:

答案 0 :(得分:0)

你做不到。 HTML不会将选项标签发送到服务器端。此外,您通常已经知道与服务器端的值相关联的标签。只需要一些标签 - 值对的映射(例如Map<String, String>),这样您就可以按所选值获取相关标签(更多,您可以在<f:selectItems>中重复使用地图。)

也就是说,需要知道标签是一种设计气味。这个信息不应该首先出现在值中吗?