TOPシステム開発> 独自のバリデータタグを作成する方法




まるごとサーバサイドJava
JDeveloperで学ぶJSF入門

第13回:独自のバリデータタグの作成

著者:WINGSプロジェクト  佐藤治夫(株式会社ビープラウド)、
小泉守義

監修:山田祥寛   2006/9/1
1   2  次のページ
独自のバリデータタグを作成する方法

   次に、カスタムバリデータを独自のバリデータタグで使用する方法を紹介します。独自のバリデータタグを用意する方法には、タグからバリデータにパラメータを渡せるようになるというメリットがあります。ここでは、前回紹介したリスト1で、WordValidatorクラスのvalidate()メソッド内で固定で定義していた合言葉を、タグのパラメータから渡す例を紹介します。
リスト1:WordValidator.java(抜粋)(再掲)
WordValidator.java(抜粋)
(画像をクリックすると別ウィンドウに拡大図を表示します)

   独自のバリデータタグを作成する手順は次のとおりです。

  1. バリデータクラスを作成
  2. バリデータをJSF設定ファイルに登録
  3. カスタムタグクラス、TLDファイルを作成
  4. JSPファイルに記述

表1:独自のバリデータタグの作成手順


カスタムバリデータクラスの作成

   まず、カスタムバリデータクラスを作成します(リスト2)。

リスト2:WordValidator2.java(抜粋)
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  次のページ

書籍紹介
まるごとサーバサイドJava! Vol.1
まるごとサーバサイドJava! Vol.1 〜初心者からプロまですべての開発者に贈る〜サーバサイドJavaのすべてをまるごと紹介
サーバサイドで実行されるシステム環境Java EEを取り巻く環境は一大変革を遂げようとしています。J2EE時代のEJB(Enterprise Java Beans)からPOJO(Plain Old Java Object)へ、オブジェクト指向からアスペクト指向へ。Sun Microsystems外から発生した新しい流れは本家Java EE 5へ取り入れられる予定です。本書はこうしたJavaの新潮流を余すことなくお伝えします。

発売日:2006/09/01
定価:\2,415(本体 \2,300+税)
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、小泉守義 監修:山田祥寛
著者プロフィール
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:山田祥寛

WINGSプロジェクトは、有限会社WINGSプロジェクト(代表取締役山田祥寛)が運営するライティング・チーム。海外記事の翻訳から、主にサーバサイド分野の書籍/雑誌/Web記事の執筆、講演、アプリケーション開発などを幅広く手がける。2006年7月時点での登録メンバーは20名で、現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は、どしどし応募いただきたい。


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。

INDEX
第13回:独自のバリデータタグの作成
独自のバリデータタグを作成する方法
  JSF設定ファイルへの登録
JDeveloperで学ぶJSF入門
第1回 JSFの特長
第2回 JSFを構成する要素
第3回 JSFのライフサイクルとStrutsとの比較
第4回 環境設定
第5回 JSFアプリケーションを作成しよう
第6回 情報入力ページの作成
第7回 コマンドボタンの配置と結果出力ページの作成
第8回 バリデータの設定とメッセージの日本語化
第9回 アプリケーションロジックを追加する
第10回 モデルとビューを統合する
第11回 バインディングとテスト
第12回 カスタムバリデータの作成方法〜JSFをより高度に利用するために
第13回 独自のバリデータタグの作成
第14回 カスタムコンバータの作成
第15回 カスタムコンポーネントの作成(前編)
第16回 カスタムコンポーネントの作成(後編)