TOP
>
システム開発
> 独自のバリデータタグを作成する方法
JDeveloperで学ぶJSF入門
第13回:独自のバリデータタグの作成
著者:
WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:
山田祥寛
2006/9/1
1
2
次のページ
独自のバリデータタグを作成する方法
次に、カスタムバリデータを独自のバリデータタグで使用する方法を紹介します。独自のバリデータタグを用意する方法には、タグからバリデータにパラメータを渡せるようになるというメリットがあります。ここでは、前回紹介したリスト1で、WordValidatorクラスのvalidate()メソッド内で固定で定義していた合言葉を、タグのパラメータから渡す例を紹介します。
リスト1:WordValidator.java(抜粋)(再掲)
(画像をクリックすると別ウィンドウに拡大図を表示します)
独自のバリデータタグを作成する手順は次のとおりです。
バリデータクラスを作成
バリデータをJSF設定ファイルに登録
カスタムタグクラス、TLDファイルを作成
JSPファイルに記述
表1:独自のバリデータタグの作成手順
カスタムバリデータクラスの作成
まず、カスタムバリデータクラスを作成します(リスト2)。
リスト2:WordValidator2.java(抜粋)
(画像をクリックすると別ウィンドウに拡大図を表示します)
独自タグのバリデータクラスを作成する際のポイントは、次のとおりです。
1. バリデータクラスに属性とセッターメソッドを作成
バリデータクラスにインスタンス変数とセッターメソッドを定義します。このセッターメソッドを通して、カスタムタグクラスからタグの属性値が渡されます。
2. StateHolderインターフェイスをimplementsする
バリデータタグを独自に作成する場合は、Validatorインターフェイスに加えて、java.faces.component.StateHolderインターフェイスをimplementsしなければなりません。StateHolderの実装クラスは以下の4つのメソッドを実装する必要があります。
isTransient()メソッド
setTransient()メソッド
restoreState()メソッド
saveState()メソッド
restoreState()メソッド、saveState()メソッドという2つのメソッドには、バリデータの状態(インスタンス変数)を保存/復元する処理を記述します。restoreState()メソッドには引数で受け取ったオブジェクトから、インスタンス変数を復元する処理を記述します。saveState()メソッドには、シリアライズ可能なオブジェクトにインスタンス変数(=オブジェクトの状態)を格納し、戻り値として返す処理を記述します。
1
2
次のページ
著者プロフィール
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:山田祥寛
WINGSプロジェクトは、有限会社WINGSプロジェクト(代表取締役山田祥寛)が運営するライティング・チーム。海外記事の翻訳から、主にサーバサイド分野の書籍/雑誌/Web記事の執筆、講演、アプリケーション開発などを幅広く手がける。2006年7月時点での登録メンバーは20名で、現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は、どしどし応募いただきたい。
INDEX
第13回:独自のバリデータタグの作成
独自のバリデータタグを作成する方法
JSF設定ファイルへの登録