TOPシステム開発> はじめに




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

第12回:カスタムバリデータの作成方法〜JSFをより高度に利用するために

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

監修:山田祥寛   2006/8/28
1   2  次のページ
はじめに

   JSFには、HTMLコンポーネントを中心として、さまざまなバリデータ、コンバータ、コンポーネントが用意されています。しかし、実際の開発では、こうした標準品以外の部品が必要となることがあります。

   そのような用途に対応できるよう、JSFでは、部品を自作したり、標準コンポーネントの機能を拡張したり、サードベンダーが提供している部品を入手したりして開発に使用することができます。今回からは、バリデータ、コンバータ、コンポーネントを作成する方法を紹介します。

カスタムバリデータの作成方法

   JSFでは、バリデータをカスタムで作成する方法として、次の3つが用意されています。

  1. バリデータを作成し、<f:validator>タグから使用する方法
  2. バリデータを作成し、独自のバリデータタグから使用する方法
  3. マネージドBeanにバリデート用メソッドを実装し、入力コンポーネントのvalidator属性からメソッドバインディングで呼び出す方法

表1:バリデータをカスタムで作成する方法

   1の方法は、タグハンドラクラスを作成しなくてもバリデータが使用可能なので、最も手軽な方法といえるでしょう。しかし、この方法の場合、JSPからバリデータにパラメータを渡すことができません。

   JSPからバリデータにパラメータを渡したいなら、2の独自のバリデータタグから使用する方法があります。しかし、この場合はタグハンドラクラスを作成する必要があるため、その分手間がかかります。

   3のマネージドBeanにvalidate用メソッドを実装する方法は、FacesContextオブジェクトやUIComponentオブジェクトといった、JSFで用意されているオブジェクトを引数で受け取るバリデート用メソッドを実装する必要があります。しかし、この方法は「フレームワークに依存しない」というマネージドBeanの利点をなくしてしまうことになるので、あまり使用しないほうがよいでしょう。

   本連載では1、2に挙げたValidatorインターフェイスを実装する方法を紹介します。


カスタムバリデータの作成手順

   カスタムバリデータを作成する手順は、次のとおりです。

  1. javax.faces.validator.Validatorインターフェイスをimplementsしたバリデータクラスを作成し、validate()メソッドを実装する。
  2. JSF設定ファイルにバリデータを登録する。
  3. (独自のタグを使用する場合)カスタムタグ/TLDファイルを作成する。

表2:カスタムバリデータの作成手順


カスタムバリデータのサンプルアプリケーション

   本連載では、サンプルアプリケーションとして「合言葉一致バリデータ」を作成します。このバリデータは、画面で入力された文字列が合言葉と一致するかを検証します。

   このサンプルアプリケーションの画面遷移を図1に示します。入力した値が合言葉と一致した場合は次の画面に遷移し、一致しない場合はエラーメッセージを画面に表示します。

サンプルアプリケーションの画面遷移
図1:サンプルアプリケーションの画面遷移

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