Получить идентификатор и метку выбранного элемента - PullRequest
1 голос
/ 12 октября 2011

У меня есть массив объектов SelectItem

SelectItem[] list;

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

Я могу получить идентификатор, но как я могу получить метку ...

1 Ответ

1 голос
/ 12 октября 2011

Метка элемента не будет отправлена ​​как параметр запроса, только значение элемента. Это по спецификации HTML. Но вам не нужно получать его из запроса вообще. У вас есть это уже в вашем 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> на этой карте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...