JSF ハンドラーの関数に JSF ボタンをバインドすると、ユーザーがボタンをクリックしたときに、その関数が実行されます。
Web ページからコマンドを受け入れるには、最初に関数を書いて、その関数をボタンにバインドするという方法が、もっとも簡単です。
- EGL Web プロジェクトで Web ページを作成します。
- そのページの JSF ハンドラーで、関数を作成します。
この時点で必要なのは、バインディングを行うための基本的な関数だけです。
関数のロジックについては、あとでコーディングできます。
- JSF ハンドラーを保存します。
- 関連付けされた JSP ファイルを開きます。
- 「パレット」ビューの「拡張 Faces コンポーネント」ドロワーから、「ボタン - コマンド」をページにドラッグします。
- ページ・データ・ビューで、「JSF ハンドラー」 を展開します。 JSF ハンドラーの関数と変数が、ここにリストされます。
- 「ページ・データ」ビューから、ページに追加したボタンに対して、関数を直接ドラッグします。
関数がボタンにバインドされます。
これ以外の方法として、Web ページでの作業中に、「クイック編集」ビューから関数をコーディングするという方法もあります。
- JSP ファイルを開きます。
- 「パレット」ビューの「拡張 Faces コンポーネント」ドロワーから、「ボタン - コマンド」をページにドラッグします。
- ボタンを右クリックして、次に「イベントの編集」をクリックします。
「クイック編集」ビューが開きます。通常、このビューは JavaScript
コード用のものですが、このビューを使用して JSF ハンドラーの関数を書くこともできます。
- 「クイック編集」ビューの左側にある「コマンド」をクリックします。
- 「クイック編集」ビューの右方の領域をクリックして、そこをフォーカスします。実際に JSF ハンドラーに入っている新規の EGL 関数が、このビューに表示されます。
- 新規の関数に EGL ステートメントを入力します。「クイック編集」ビューの関数では、少なくともコメントを追加する必要があります。
関数のコードが変更されなかった場合、その関数を不要なものとエディターが判断し、関数が除去されてしまいます。
制限
ページ上のコマンド要素は、JSF ハンドラー内の関数に対してのみバインドすることができます。
その他の論理パーツ (ライブラリーなど) の関数にはバインドできません。
また、バインドできる関数は、パラメーターのないものだけです。
関数の実行時に入力が必要となる場合は、JSF ハンドラーに変数を作成し、その変数をページ上の入力コントロールにバインドしてください。
これによって、関数呼び出しのパラメーターとして、その変数を使用できるようになります。
<form> タグ内のボタンおよびコントロールのロケーションに関する制限事項については、Web ページ上のコントロールの変数へのバインディングも参照してください。