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;