前回「Validatorによる妥当性検証の実現(前編)」では、Validatorプラグインを利用する際に必要となる環境設定や準備について紹介しました。後編となる今回は、前回の設定を基に書籍登録・更新アプリケーションに検証機能を組み込みます。
今回は、入力されたデータが足りない場合、以下の画面のようなエラーメッセージを表示する機能を書籍登録・更新アプリケーションに実装していきます。
まず、サンプルアプリケーションの関連図とコード実行時の内部的な流れを示しておきます。いきなり個々のコードに注意を向けるのではなく、まず先に全体像を把握しておけば、理解を深められるはずです。いまの段階では、細かいことはあまり気にせず、大まかな流れをつかむつもりで眺めてみてください。
No | 処理概要 | |
---|---|---|
1 | BookUpdate.jspでデータを入力・変更した後、[保存]ボタンをクリック | |
2 | クライアントサイドで入力データの検証処理が行われる(JavaScript機能が有効になっているブラウザのみ) | |
3 | 検証の結果、データが正しい場合、リクエストパス「/BookWriteAction」に対してデータが送信される(実際にはパスの指定にかかわらず、アクションサーブレットが起動) | |
4 | リクエストデータを受け取ったアクションサーブレットが、「/BookWriteAction」をキーにコンフィグレーションファイル(struts-config.xml)配下のaction要素を検索。リクエスト処理に使われるアクションフォームBeansとアクションクラスを特定する | |
5 | リクエストデータの内容をアクションフォームBeansクラスBookUpdateFormにセット。この際、HTMLタグライブラリにおけるproperty属性の値をキーに、アクションフォームBeansの対応するアクセサメソッドが呼び出される | |
6 | サーバサイドで入力データの検証処理が行われる(エラー発生時には、BookUpdate.jspにフィードバック) | |
7 | 手順4で特定したアクションクラスBookUpdateProcessを起動。executeメソッドをコールし、データベースの登録・更新処理を行う | |
8 | 処理結果ステータス“success”をキーとして、struts-config.xmlのaction要素/forward要素を検索。対応するパス(path属性)に処理を転送する | |
9 | 最終的な遷移先/BookViewAction.doで、更新が反映された結果を一覧表示する(BookViewAction.doの挙動については第4回を参照) | |
アクションフォームBeansクラス「BookUpdateForm」については、第4回「リクエスト情報を制御するアクションフォームBeans」ですでに紹介していますが、Validatorプラグインを使用する際は、下記の赤字部分について変更を行う必要があります。
BookUpdateForm.java(前回からの差分) |
package struts; import javax.servlet.http.*; public class BookUpdateForm extends ValidatorForm
{ |
ValidatorFormクラスは、ActionFormクラスのサブクラスです。Validatorプラグインに対応したアクションフォームBeansを定義するには、このValidatorFormクラスを継承する必要があります。この設定を行わなかった場合、サーバサイドの検証機能は有効にはなりませんので、注意してください。
Copyright © ITmedia, Inc. All Rights Reserved.