アクションを処理するメソッドの記述

ページからのナビゲーションを決定するためにビジネス・ロジックが必要な場合は、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アプリケーションでのナビゲーションについて
ナビゲーションに影響を与えるアクション・メソッドおよび結果について