2012-05-08 21 views
0

JSFで独自のActionListenerを実装するにはどうすればよいですか。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のオブジェクトを指定する必要があることです。..

しかし、何をすることができthis..I背後にある本当の機能がMethodExpressionののjavadocを経て、私が見つかりました。あまり使われないようにしてください。

答えて

0

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

public void processAction(ActionEvent event) throws AbortProcessingException; 

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

+0

あなたが言うことを意味するものではどのような私は、クラスを作成されたチェックリストActionListener.Itがあります実装して言います内部のprcoessActionメソッド。今、processActionメソッドの中に何を書きますか?ActionListenerが起動されたときのビジネス機能全体が、私のBeanにactionListenerメソッドの下で書き込まれていることを意味します。だから私はこの空白を残してshoudl ??? ..次の質問... link.addActionListener(新しいCheckList())は正しいですか? – AngelsandDemons

+0

私は両方の方法とその作業を使用してみました...あなたの返信をありがとう.... – AngelsandDemons

関連する問題