слушатель f: ajax не вызывается для h: selectBooleanCheckbox - PullRequest
3 голосов
/ 20 июля 2011

С таким кодом:

<h:selectBooleanCheckbox value="#{user.data['selected']}">
      <f:ajax event="click" listener="#{timetableBean.processUserEvents}"  />
      <f:attribute name="user" value="#{user}" />
</h:selectBooleanCheckbox>

Код метода:

public void processUserEvents(AjaxBehaviorEvent e) {
  User user = (User) e.getComponent().getAttributes().get("user");
  ...
}

Нажатие на флажок вызывает отправку ajax, но метод слушателя не вызывается вообще. В довершение всего сообщений об ошибках нет, и фазы завершаются нормально.

Я пробовал mojarra 2.0.4-b09, и после этой ошибки я изменился на 2.1.2, но та же проблема сохраняется.

Что-то я не так сделал?

Спасибо.


UPDATE

Проблема заключалась в размещении h: selectBooleanCheckbox внутри списка данных простых лиц (p: dataList). Размещение снаружи работает нормально. Интересно, в чем проблема. Спросите сейчас на форуме о лицах.

1 Ответ

4 голосов
/ 21 июля 2011

Здесь лежит ответ на аналогичную проблему .

Проблема была в том, чтобы поставить флажок внутри p: dataList, не заключая его в столбец ap:.

Послеоборачивая его в столбец p: слушатель будет вызываться нормально.

Надеюсь, это поможет!

...