7. その他の Web コンポーネントを追加する (省略可能)
ここでは、管理対象 Bean (LoginBean) とビュー (login.jsp) を web アプリケーションにインポートします。また、login.jsp ページのナビゲーション ルールを定義してアプリケーションを実行します。
7.1. 管理対象 Bean とビューのインポート
- LoginBean.java ファイルを、workshop-jsf-tutorial/web/Resources フォルダから beans パッケージにコピーします。
- LoginBean クラスのコードを開いて確認します。validate( ) メソッドは、ユーザのユーザ ID とパスワードを検証し、ユーザを home.jsp にナビゲートするための論理結果 login を返します。ユーザ id またはパスワードが不正な場合は、エラー メッセージを表示して再ログインを要求するために null を返します。
- 次の図に示すように、workshop-jsf-tutorial/web/WEB-INF/config/faces-config.xml ファイルに、管理対象 Bean として LoginBean をコンフィグレーションします。(faces-config.xml を開き、必要に応じてエディタの [Faces コンフィグレーション] タブをクリックします。)
![](images/img87.jpg)
- LoginBean のスコープは request に設定します。faces-config.xml ファイルを保存します。
- 以下のキーと値のペアを、workshop-jsf-tutorial/web/WEB-INF/src/java/resources/application.properties ファイルに追加します。このコード行は、workshop-jsf-tutorial/web/Typing_Aid/application_properties_3.txt からコピーすることもできます。
# -- login page --
loginPageTitle=Login to Workshop...
loginFormHeader=Member Login
login_NewUser=New User
login_SignUp=Sign Up
invalidPassword=Please provide correct password for userId: {0}
invalidUserId=Please provide correct userId |
- application.properties ファイルを保存します。
- login.jsp.txt ファイルを、workshop-jsf-tutorial/web/Resources フォルダから pages フォルダにコピーし、名前を login.jsp に変更します。
7.2. login.jsp のナビゲーション ルールの定義
LoginBean.validate メソッドは、ユーザを home.jsp ページにナビゲートするために login を返します。
- faces-config.xml ファイルの [ナビゲーション] ビューを使用して、login.jsp ページのナビゲーション ルールを定義します。
![](images/img89.jpg)
- ナビゲーション ルール /pages/login.jsp ページの新しいナビゲーション ケースを定義します。
![](images/img90.jpg)
![](images/img91.jpg)
- faces-config.xml ファイルを保存します。
7.3. アプリケーションの実行
- [AppXplorer] ビューで login.jsp ファイルを右クリックします。[実行|サーバで実行] を選択します。
- 必要に応じて、web ブラウザに URL「http://localhost:7001/pages/login.jsf」を入力します。
- [送信] リンクをクリックし、ユーザ Id 「james」でログインします。
- パスワードなしでログインを試み、エラー メッセージが表示されることを確認します。
- ユーザ Id 「james」、不正なパスワード「1006」でログインを試み、エラー メッセージが表示されることを確認します。
- 正しいユーザ Id とパスワード (james と 1007) でログインすると、home.jsp ページにナビゲートされます。
- サーバを停止します。
チュートリアルを移動するには、矢印をクリックしてください。
さらにヘルプが必要ですか。質問は Workshop
ニュース グループまでお寄せください。