Webアプリ開発の常識、バリデーションとテンプレート:Webアプリの常識をJSPとStrutsで身につける(7)(1/3 ページ)
本連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPやASP.NET、Ruby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です
今回は、業務で使うWebアプリケーションの開発において“常識”となっている“バリデーション”と“テンプレートエンジン”について2本立てで説明していきます。
いまさら人には聞けない「バリデーション」とは
Webアプリケーションを作成する際には入力した値に対して未入力チェック、文字列長チェック、型チェックなどの“検証”の仕組みは欠かせません。
連載第4回の「HTMLやStrutsに必須の“タグ”と“サブミット”の常識」で紹介した、入力フォームにアプリケーション利用者が情報を入力する際に、アプリケーション提供者側からすると好ましくない情報を“検証”して、入力させないなどすることによって余計なデータを減らす重要な機能です。
また、後の連載で紹介するWebアプリケーションの脆弱(ぜいじゃく)性として、バッファオーバーフローやクロスサイトスクリプティングなど「入力フォームからの攻撃」があります。バリデーションは、これを防ぐうえでも重要な機能となります。
■StrutsにはValidatorプラグインがある!
Strutsでは、検証のルールが用意されエラー出力処理なども「Validator」というフレームワーク(プラグイン)で提供されています。これを利用することで、バリデーション機能を実現できます。検証ルールの追加や変更が可能ですべて設定ファイルベースで行えるのでソースコードの修正が不要であるのが大きな特徴です。
ここでは、Struts Validatorに標準で用意されている検証ルールを紹介していきます。
ルール名 | エラーメッセージのキー | 説明 | |
---|---|---|---|
required | errors.required | 未入力チェック | |
validwhen | errors.required | ほかのフィールドの値を参照し、未入力チェック。ほかの指定したフィールドの値が任意の値の場合、指定のフィールドが未入力ならばエラー処理ができる | |
minlength | errors.minlength | 最小文字列長チェック | |
maxlength | errors.maxlength | 最大文字列長チェック | |
mask | errors.invalidd | 正規表現にマッチするかチェック | |
byte | errors.byte | byte型として正しいかチェック | |
short | errors.short | short型として正しいかチェック | |
integer | errors.integer | int型として正しいかチェック | |
long | errors.long | long型として正しいかチェック | |
float | errors.float | float型として正しいかチェック | |
double | errors.double | double型として正しいかチェック | |
date | errors.date | 日付として正しいかチェック | |
intRange | errors.range | 指定した範囲内の整数であるかチェック | |
floatRange | errors.range | 指定した範囲内の整数であるかチェック | |
doubleRange | errors.range | 指定した範囲内の整数であるかチェック | |
creditCard | errors.creditcard | クレジット番号の書式として正しいかチェック | |
errors.email | メールアドレスの書式として正しいかチェック | ||
url | errors.url | URLの書式として正しいかチェック |
Strutsでバリデーションをするには?
これらの検証ルールを使ってWebアプリケーションを作成していきます。バリデーション機能を使用するに当たって、以下のファイルの編集や作成が必要です。
- Struts設定ファイルの編集(Validatorプラグインの設定)
- ActionFormの編集(ValidatorFormを継承)
- Validator設定ファイルの作成
- メッセージリソースファイルの編集(エラーメッセージの準備)
- JSPの編集(エラーメッセージ表示)
それでは、「どのような記述が必要なのか」「どのような意味があるか」を編集するファイルごとに説明していきます。
■【1】Struts設定ファイルの編集
Struts設定ファイル(struts-config.xml)にValidatorプラグインを設定します。プロパティ「pathnames」の値にValidator設定ファイルのパスを記述します。Validator設定ファイルの説明は後ほど行います。以下の内容をStruts設定ファイルに追加してください。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Struts設定ファイルでは、検証のルールでエラーがあった際にエラーメッセージを表示する画面の指定やValidatorで検証を行うかどうかを指定できます。以下の内容をStruts設定ファイルに追加してください。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
次ページでは、Strutsでバリデーションを使うための設定の仕方を紹介し、テンプレートとテンプレートエンジンについて解説します。
Copyright © ITmedia, Inc. All Rights Reserved.