添加此ActionListener时出现错误

我有下面的代码:

   

当我添加<f:actionListener binding="它会给出以下错误:

 at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114) at com.sun.faces.facelets.tag.jsf.core.ActionListenerHandler$LazyActionListener.processAction(ActionListenerHandler.java:112) at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88) at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769) 

这是我的getTotal函数:

  List total = null; try { org.hibernate.Transaction tx = session.beginTransaction(); Query q = session.createQuery("SELECT SUM(amount) from CustomerPayment where DATE like '%"+year+"' GROUP BY type"); total = (List) q.list(); } catch (Exception e) { e.printStackTrace(); } return totalDataTable = new ListDataModel(total); 

可能是什么问题?

问题在于actionListenerbinding属性的值 – 它应该指向一个实现ActionListener接口的对象 – 而不是你的情况下的方法调用。

来自JSF规范:

值绑定表达式,其值为实现javax.faces.event.ActionListener的对象。