2010-09-14 90 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