javax.el.MethodNotFoundException для <ice: commandButton actionListener>

Я работаю с JSF Framework icefaces (на всякий случай, если это имеет значение) в полноценной рабочей системе, созданной с помощью JSF/JavaEE5. Итак, я начал с добавления страницы JSP и компонента Java. Насколько я знаю, каждый раз, когда привязка (или actionListener) объявляется на стороне Jsp, необходимо объявлять переменную, действие и метод получения / установки в bean-компоненте. Итак, я сделал следующее:

JSP:

 <ice:commandButton actionListener="#{tasks$fixTemplates.btnSearchProcessAction}"
                    style="height: 18px; left: 5px; top: 8px; position: absolute; 
                    width: 18px;" value="submit"/>id="btnSearch" 
                    image="/resources/commons/imgs/dot/view.png">

Java-бин:

  public void btnSearchProcessAction(ActionEvent ae) throws Exception { 

 //Some code over here

  }

Страница отображается без особых проблем, однако, когда я пытаюсь выполнить действие нажатием кнопки, появляется исключение, которое говорит что-то вроде:

javax.faces.el.MethodNotFoundException: javax.el.MethodNotFoundException: Method not found: com.rcsolutions.base.tasks.fixTemplates@1ec7c9.btnSearchProcessAction(javax.faces.event.ActionEvent)

Сначала я подумал, что его бросают, потому что я забыл добавить управляемый бин в файл Face-Config, но он уже есть и пока не работает. Я не уверен, почему это так, потому что я видел кучу кода, следуя тому же шаблону. В чем проблема? Я пропустил какие-либо настройки перед кодированием или около того? Любая помощь будет приветствоваться.

1 ответ

Решение

Было немного сложно выяснить, что происходит, в конце концов оказалось, что я полагался на подсказки IDE (что не очень хорошо), поэтому я не заметил этого и произошел неправильный импорт для ActionEvent. Я получил это:

import java.awt.event.ActionEvent;

Когда мне действительно нужно было следующее:

import javax.faces.event.ActionEvent;
Другие вопросы по тегам