ページからのナビゲーションを決定するためにビジネス・ロジックが必要な場合は、UICommandコンポーネント・タグのaction
属性をアクション・メソッドにバインドします。アクション・メソッドは、結果文字列を戻す必要があります。この結果文字列は、JSF NavigationHandlerによって、faces-config.xml
ファイルのナビゲーション・ケースの結果と比較され、次のページが決定されます。
アクション・メソッドは、パラメータなしのpublicメソッドで、結果を表すString
を戻す必要があります。JSFでは、ビジネス・ロジックとインタフェース・ロジックが明確に分離しています。アクション・メソッドは、イベントまたはコンポーネントにアクセスできません。したがって、アクション・イベント・メソッドを使用して、アクション・メソッドで必要となるユーザー・インタフェース・ロジックを処理します。詳細は、「アクション・イベントを処理するメソッドの記述」を参照してください。
たとえば、ログイン・ページがあるとします。ユーザーはこのページで各自の名前とパスワードを入力し、発行コマンド・ボタンをクリックします。名前とパスワードが有効な場合、ユーザーはようこそページに移動します。名前とパスワードが無効な場合、ユーザーは登録ページに移動します。
ページ上のcommandButton
タグのアクション属性では、Login
Beanへのメソッド・バインディングを使用して、submitメソッドにアクセスします。
#{login.submit}
Login
Beanのsubmit()
メソッドは、次のようになります。
public String submit()
{ if (...)
return "success";
else
return "failure";
}
ログイン・ページに対するfaces-config.xml
ファイルのナビゲーション・ルールには、successとfailureの結果に対応する2つのケースが含まれます。
メソッド・バインディングについて
JSFアプリケーションでのナビゲーションについて
ナビゲーションに影響を与えるアクション・メソッドおよび結果について
Copyright © 1997, 2006, Oracle. All rights reserved.