2010-09-14 93 views
0

我想获得值h:selectManyListbox的所选项目的标签。从SelectManyListBox中获取选定的标签

我有这样的:

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

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

我怎样才能得到这个?

回答

0

你不能。 HTML不会将选项标签发送到服务器端。此外,您通常已知已知了解与服务器端值相关的标签。只需对标签 - 值对进行一些映射(例如Map<String, String>),以便您可以通过所选值获取关联的标签(甚至可以重新使用<f:selectItems>中的地图)。

这就是说,需要知道标签是一种设计气味。这些信息不应该放在第一位(也是)吗?

+0

是的,这将是一个选项,但我有像',“,/,\等extrange字符的客户名称和重复名称,所以我不能使用这个值。谢谢你的答案,我会尝试地图的东西 – ErVeY 2010-09-15 13:44:20