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の使用は正確には何ですか。

1つのポイントは、引数として、その中でaddActionListenermethodExpressionMethodExpressionActionListenerオブジェクトを指定する必要があるということです。

しかし、この背後にある実際の機能は何でしょうか。MethodExpressionのjavadocを調べましたが、あまり役に立たないことがわかりました。

4

1 に答える 1

0

の引数のタイプaddActionListenerActionListenerです。MethodExpressionActionListenerの代わりにこれを使用します。これは、単一のメソッドを持つインターフェースです。

public void processAction(ActionEvent event) throws AbortProcessingException;

(MethodExpressionActionListenerはこのインターフェイスを実装します)

于 2012-05-08T10:24:52.423 に答える