我正在使用JSF / JavaEE5构建的完整工作系统中使用JSF Framework 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">
Java bean:
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,但它已经存在并且还没有工作。我不确定为什么会这么说,因为我看到了一堆遵循相同模式的代码。什么似乎是问题?在编码之前我是否跳过了任何设置?任何帮助都会受到欢迎。
答案 0 :(得分:0)
找出发生的事情有点棘手,最后我发现我依赖IDE提示(什么不是那么好)所以我没有注意到并且ActionEvent导入错误。 我有这个:
import java.awt.event.ActionEvent;
当我真正需要的是这个:
import javax.faces.event.ActionEvent;