Icefaces: несколько ActionListeners для командной кнопки

StackOverflow https://stackoverflow.com/questions/1322854

  •  19-09-2019
  •  | 
  •  

Вопрос

Можно ли иметь несколько ActionListeners в командной кнопке?

Если нет, не так ли?

Спасибо за вашу помощь!

Это было полезно?

Решение

Нет, вы можете добавить только два метода обратного вызова на стороне сервера:

  • actionListener а также
  • action.

<ice:commandButton action="#{bean.navigateTo}" actionListener="#{bean.doSomething}"/>

actionListener должен указывать на публичный метод, который возвращается void и принимает действие в качестве аргумента. Обычно он используется для любых задач, которые не связаны с какой -либо логикой навигации и имеют преимущество, чтобы предоставить вам старое и новое (= измененное) значение управления. Это имеет особый смысл в входных элементах, таких как флажки.

action должен указывать на публичный метод, который возвращает String не принимая никаких аргументов. Метод сделает все, что необходимо для навигации - например, дополнительную проверку (если он не был обработан некоторым основным валидатором JSF). Результат должен соответствовать правилам навигации от faces-config.xml.

Это должно дать вам достаточно возможностей для выполнения нескольких задач (которые, я полагаю, является причиной для получения нескольких действий) в рамках логики вашего сервера.

Кроме того, если вам нужно выполнять только некоторые задачи на стороне клиента, вы можете воспользоваться несколькими свойствами JavaScript.

Ссылка: Icefaces пользовательские компоненты Taglib

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top