|
|||||||||||||||
| 1 2 次のページ | |||||||||||||||
| コンポーネントとマネージドBeanのバインディング | |||||||||||||||
|
最後に、コンポーネントとマネージドBeanのバインディングを行います。まず、プロパティ・インスペクタでinput.jspの入力コンポーネントのvalue属性を、それぞれ表1にしたがって書き換えます。
表1:input.jspの各コンポーネントに指定する値バインディング 例として、birthYearのバインディングの指定を図1に示しました。 JSFタグの属性に値バインディング式を記述すると、Update Model Valueフェーズで、値バインディング式を指定した入力コンポーネントの入力値が指定されたマネージドBeanのプロパティに格納されるとともに、Render Responseフェーズで指定されたプロパティの値が出力されます。 次に、「占う」ボタンのaction属性にメソッドバインディング式(#{fortuneTellingService.doFortuneTelling})を指定し、マネージドBeanとしてJSF変数のfortuneTellingServiceに格納されているFortuneTellingServiceオブジェクトのdoFortuneTelling()メソッドがボタンのクリックに伴って呼び出されるようにします。ここでメソッドバインディング式という言葉が出てきましたが、これはBeanのプロパティではなく、Beanに記述されたメソッドを参照する記述です。 値バインディングとメソッドバインディングは、見た目の違いはまったくありませんが、参照する対象が異なることから呼び方を区別しています。 output.jspには、最初の手順でダミーとして「***」という文字列を入れていた部分に、次の結果を取得する値バインディング式を記述します。
「他の人を占う」ボタンは、「占う」ボタンと同様にFortuneTellingServiceオブジェクトのdoRetry()メソッドがアクションメソッドとして呼び出されるように、次のメソッドバインディング式を指定します。
以上で、JSFによる本格的な占いアプリケーションが完成しました。最終的なJSPのソースコードをリスト1(input.jsp)をリスト2(output.jsp)に示します。 リスト1:input.jsp(完成版) リスト2:result.jsp(完成版)
|
|||||||||||||||
|
1 2 次のページ |
|||||||||||||||
|
|
|||||||||||||||
|
|||||||||||||||
|
|
|||||||||||||||
|
|||||||||||||||



