0

我正在使用 JSF/JavaEE5 构建的完整工作系统中使用 JSF 框架 icefaces(以防万一)。因此,我首先添加了一个 JSP 页面和一个 Java bean。据我所知,每次在 Jsp 端声明一个绑定(或 actionListener)时,都需要在 bean 中声明一个变量、一个动作和 getter/setter。所以我做了,如下:

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">

爪哇豆:

  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)

起初我以为它被抛出是因为我忘记在 faces-config 文件中添加托管 bean,但它已经存在并且还没有工作。我不确定它为什么这么说,因为我已经看到一堆遵循相同模式的代码。似乎是什么问题?我在编码之前是否跳过了任何设置?欢迎任何帮助。

4

1 回答 1

0

找出发生了什么有点棘手,最后结果证明我依赖于 IDE 提示(不是那么好),所以我没有注意到,并且 ActionEvent 的导入不正确。我有这个:

import java.awt.event.ActionEvent;

当我真正需要的是:

import javax.faces.event.ActionEvent;
于 2014-10-13T22:22:40.410 回答