|
||||||||
| 1 2 次のページ | ||||||||
| 独自のバリデータタグを作成する方法 | ||||||||
|
次に、カスタムバリデータを独自のバリデータタグで使用する方法を紹介します。独自のバリデータタグを用意する方法には、タグからバリデータにパラメータを渡せるようになるというメリットがあります。ここでは、前回紹介したリスト1で、WordValidatorクラスのvalidate()メソッド内で固定で定義していた合言葉を、タグのパラメータから渡す例を紹介します。 リスト1:WordValidator.java(抜粋)(再掲) 独自のバリデータタグを作成する手順は次のとおりです。
表1:独自のバリデータタグの作成手順 |
||||||||
| カスタムバリデータクラスの作成 | ||||||||
|
まず、カスタムバリデータクラスを作成します(リスト2)。 リスト2:WordValidator2.java(抜粋) 独自タグのバリデータクラスを作成する際のポイントは、次のとおりです。 |
||||||||
| 1. バリデータクラスに属性とセッターメソッドを作成 | ||||||||
|
バリデータクラスにインスタンス変数とセッターメソッドを定義します。このセッターメソッドを通して、カスタムタグクラスからタグの属性値が渡されます。 |
||||||||
| 2. StateHolderインターフェイスをimplementsする | ||||||||
|
バリデータタグを独自に作成する場合は、Validatorインターフェイスに加えて、java.faces.component.StateHolderインターフェイスをimplementsしなければなりません。StateHolderの実装クラスは以下の4つのメソッドを実装する必要があります。
isTransient()メソッド
restoreState()メソッド、saveState()メソッドという2つのメソッドには、バリデータの状態(インスタンス変数)を保存/復元する処理を記述します。restoreState()メソッドには引数で受け取ったオブジェクトから、インスタンス変数を復元する処理を記述します。saveState()メソッドには、シリアライズ可能なオブジェクトにインスタンス変数(=オブジェクトの状態)を格納し、戻り値として返す処理を記述します。 |
||||||||
|
1 2 次のページ |
||||||||
|
|
||||||||
|
||||||||
|
|
||||||||
|
||||||||



