Interstage Studio ユーザーズガイド
目次 索引 前ページ次ページ

第5章 ビュー> 5.11 UIマネージャビュー> 5.11.1 UIマネージャビューの機能> 5.11.1.1 イベントが発生した場合の処理の設定

5.11.1.1.2 イベントリスナを設定する

イベントリスナは、以下の条件を満たすJSFのUIコンポーネントに設定することができます。

イベントリスナを設定できる具体的なUIコンポーネントのタグについては、"UIマネージャビューで設定できるタグ一覧"を参照してください。

イベントリスナを設定するためには、UIマネージャビューの左側にあるツリーから[イベント] > [イベントリスナの設定]を選択します。以下にイベントリスナ設定画面で設定できる項目を説明します。

項目

説明

なし

イベントリスナの設定を行わない場合に選択します。

イベント発生時にメソッドを呼ぶ

イベントが発生した場合にメソッドを呼ぶようにする場合に選択します。

Managed Bean名

イベントが発生した場合に呼ばれるメソッドを追加するManaged Beanの名前を指定します。

メソッド名

イベントが発生した場合に呼び出すメソッド名を指定します。

追加

Managed Beanに、上記の[メソッド名]で指定したメソッドを追加します。

リスナクラスを設定する

リスナクラスをイベントリスナとして設定する場合に選択します。

クラス名

リスナクラスのクラス名を指定します。

参照

クラスを選択するダイアログボックスを表示します。

生成

新規ファイルを追加し、リスナクラスを作成します。

各項目で設定できる内容を、具体的に説明します。

+[イベント発生時にメソッドを呼ぶ]を選択した場合

UIコンポーネントのactionListener、またはvalueChangeListener属性にメソッドが指定されます。メソッドは以下のように指定されます。

  #{([Managed Bean名]で入力または選択されたManaged Bean名).([メソッド名]で入力した文字列)}

Managed Beanはデータやメソッドが格納・設定されているJavaBeansです。JavaBeansをManaged Beanとしてfaces-config.xmlに登録することで使用できます。JavaBeansをfaces-config.xmlに登録する方法については、"Managed Beanリストビュー"を参照してください。

faces-config.xmlにすでに指定してあるManaged Beanは、[Managed Bean名]のドロップダウンリストから選択することができます。また、新規の場合には、直接[Managed Bean名]にManaged Bean名を入力します。

ボタンなどコマンドが発生するコンポーネントをJSPエディタで選択している場合:

  例) <h:commandButton actionListener="#{__myBean.nextAction}"/>

テキストなど入力のできるコンポーネントをJSPエディタで選択している場合:

  例) <h:inputText valueChangeListener="#{__myBean.valueChange}"/>

[Managed Bean名]で指定された名前のManaged Beanがfaces-config.xmlに指定されていない場合には、faces-config.xmlに、Managed Beanとして設定が追加されます。また、[Managed Beanの追加]ダイアログボックスで指定した名前のクラスソースが作成されます。

ボタンなどコマンドが発生するコンポーネントをJSPエディタで選択している場合:

  例)
    public String nextAction(ActionEvent event) {
    }

テキストなど入力のできるコンポーネントをJSPエディタで選択している場合:

  例)
    public void valueChange(ValueChangeEvent event) {
    }

Managed Beanの追加と設定については、"Managed Beanの追加/編集"を参照してください。

+[リスナクラスを設定する]を選択した場合

UIコンポーネントのタグの子要素として、f:actionListener、またはf:valueChangeListenerタグが追加されます。f:actionListener、f:valueChangeListenerタグのtype属性に、パッケージの付いたクラス名が指定されます。

ボタンなどコマンドが発生するコンポーネントをJSPエディタで選択している場合

  例)
    <h:commandButton>
         <f:actionListener type="myApp.MyHandler"/>
    </h:commandButton>

テキストなど入力のできるコンポーネントをJSPエディタで選択している場合

  例)
    <h:inputText>
         <f:valueChangeListener type="myApp.MyHandler"/>
    </h:inputText>

パッケージ、クラス名を入力後に[生成]をクリックすると新規ファイルを作成し、設定したクラスが追加されます。実際に生成されるソースには、StateHolderインタフェースが実装されていますが、以下の例では省略しています。

ボタンなどコマンドが発生するコンポーネントをJSPエディタで選択している場合

  例)
    package myApp;

    public class MyHandler implements ActionListener {
        public void processAction(ActionEvent event)
            throws AbortProcessingException {
        }
    }

テキストなど入力のできるコンポーネントをJSPエディタで選択している場合

  例)
    package myApp;

    public class MyHandler implements ValueChangeListener {
        public void processValueChange(ValueChangeEvent event)
            throws AbortProcessingException {
        }
    }

[追加] 、[生成]をクリックしてJavaソースファイルにメソッドやクラスを追加する場合には、以下の事項に注意してください。

UIマネージャやコンテキストメニューを操作して追加されるJavaのソースファイルには、よく使用する処理があらかじめ記述してあります。

目次 索引 前ページ次ページ

Copyright 2007-2009 FUJITSU LIMITED