Как узнать, какой элемент нажат в раскрывающемся списке richfaces

#java #jsf #richfaces

#java #jsf #richfaces

Вопрос:

Я использую richfaces 4.1.0M2 с JSF2.0, и у меня есть список выбора, и я хочу, чтобы, когда кто-то выбирает (щелчком мыши) элемент в левом списке, какой-либо компонент в форме обновлялся на основе того, что нажато. Мне удалось вызвать событие в компоненте, когда кто-то нажимает на элемент. Код для достижения триггера

 <rich:pickList showButtonsLabel="false" value="#{groupBean.pickListResult}"
                                    listHeight="100"  converter="#{groupBean.converter}">
                                    <a4j:ajax event="click" render="userlist" limitRender="true" listener="#{groupBean.updateGroupMembers}"/> 
                                    <f:selectItems value="#{groupBean.leftPickList}" />
                       </rich:pickList>
  

Но я не могу получить значение SelectItem, на которое был нажат. Любая идея, как я могу это сделать. Я прочитал в документации, что каждый элемент имеет три состояния, связанные с ним в раскрывающемся списке, т.е. Общий, выбранный, активный. Итак, есть ли способ получить эти состояния в компоненте. Любая идея.

Ответ №1:

Выбранное значение будет доступно в groupBean.pickListResult (на сервере)

Комментарии:

1. На самом деле я хочу, чтобы те элементы, которые выделяются щелчком мыши, были перемещены в pickListResult.

2. Если вы хотите выбрать несколько значений, не используйте a4j: ajax с событием щелчка, поскольку это позволит вам выбрать только одно значение. Без Ajax выберите любое количество элементов, а затем нажмите кнопку отправки.

Ответ №2:

Я думаю, вам следует использовать onchange событие в <a:support>

 ex: <a4j:ajax event="onchange" render="userlist" limitRender="true" />