JSF: метод actionListener никогда не вызывается

Я тоже видел этот вопрос, но все равно не могу заставить его работать. Я понял, что когда я вызываю метод, у него появляется красный кружок (aaaa), как обычный метод, который возвращает void (IDE Netbeans ). Вот метод aaaa:

public void aaaa(ActionEvent event) {
    System.out.println("aaaaaaaaaaaaaa");
}

Это нормально для IDE Netbeans? В любом случае, нормально это или нет, мой метод никогда не вызывается. Просто упомяну, что у меня нет вложенных форм!


person BojanSM    schedule 24.08.2011    source источник
comment
Каков объем памяти вашего bean-компонента, если я могу спросить?   -  person Hyangelo    schedule 24.08.2011


Ответы (1)


В дополнение к вопросу, который вы обнаружили, метод commandButton / commandLink / ajax action / listener не вызван или входное значение не обновлено, для actionListener необходимо убедиться в следующем:

  • Убедитесь, что аргумент метода actionListener равен javax.faces.event.ActionEvent, а не что-то другое, например java.awt.ActionEvent, которое в среднем IDE автоматически предлагает как первое совпадение.

Кстати, есть ли какая-то конкретная причина, по которой вы используете здесь actionListener вместо action?

person BalusC    schedule 24.08.2011
comment
Я использую правильный класс - javax.faces.event.ActionEvent. На самом деле я заставляю его работать, устанавливая немедленный атрибут = true. Объясните, пожалуйста, почему с ним работает, а не без него. - person BojanSM; 24.08.2011
comment
Тогда у вас есть ошибка проверки / преобразования во входном элементе, который не охвачен immediate="true". Отметьте пункт 3 ответа на вопрос, который вы нашли. Добавьте <h:messages/>, чтобы получать уведомления об отсутствующих ошибках или читать журналы сервера. - person BalusC; 24.08.2011