0

如何在 JSF 中实现自己的 ActionListener。

我要求它将此动作侦听器附加到我正在构建的动态组件..

我正在尝试像这样使用 MethodExpression:-

HtmlCommandLink link = new HtmlCommandLink();
        link.setId("linkId");
FacesContext context = FacesContext.getCurrentInstance();
        MethodExpression methodExpression = context.getApplication().getExpressionFactory().createMethodExpression(
            context.getELContext(), "#{bean.actionListener}", null, new Class[] { ActionEvent.class });
link.addActionListener(new MethodExpressionActionListener(methodExpression));

但是,是否有任何其他方法可以将自定义 actionListener 附加到动态生成的组件。在这种情况下,MethodExpression 的使用究竟是什么。

一点是addActionListener作为MethodExpressionActionListener参数,我们需要在其中指定methodExpression对象..

但是这背后的真正功能是什么……我浏览了 MethodExpression 的 javadoc,但我发现它没有多大用处。

4

1 回答 1

0

的参数类型addActionListenerActionListener。使用它而不是 MethodExpressionActionListener,它是一个具有单个方法的接口:

public void processAction(ActionEvent event) throws AbortProcessingException;

(MethodExpressionActionListener 实现了这个接口)

于 2012-05-08T10:24:52.423 回答