Presentation is loading. Please wait.

Presentation is loading. Please wait.

JSFによるWebアプリケーション開発 第10回

Similar presentations


Presentation on theme: "JSFによるWebアプリケーション開発 第10回"— Presentation transcript:

1 JSFによるWebアプリケーション開発 第10回
コンバータ・バリデータ JSFによるWebアプリケーション開発 第10回

2 ここでの内容 コンバータ・バリデータの手法について学ぶ。

3 コンバータ

4 コンバータとは何か h:inputText 要素のようなテキスト入力フィールドには、基本的には String 型のデータが入る。
コンバータとは、テキスト入力フィールドと Managed Beanのプロパティ間でデータ変換を行うもの。 例えば、Integer や Date 型に変換 Integer や Date 型のオブジェクトの値を、h:outputText などで出力

5 Managed Bean // number プロパティは Integer 型 public Integer getNumber() {
return number; } // date プロパティは Data 型 public Date getDate() { return date;

6 このサンプルの出力例

7 number プロパティと UIコンポーネントとの対応 (1)
<h:inputText id="number1" converter="javax.faces.Integer" value="#{ParameterBean.number}“ /> <h:outputText id="number2" value="#{ParameterBean.number}" />

8 number プロパティと UIコンポーネントとの対応 (2)
converter="javax.faces.Integer“ value="#{ParameterBean.number}“ 入力されたデータを、Integer 型に変換するコンバータを指定する。 データは、ParameterBean の number プロパティに保存する。

9 JSF標準のコンバータ BigDecimalConverter BigIntegerConverter BooleanConverter
ByteConverter CharacterConverter DateTimeConverter DoubleConverter FloatConverter IntegerConverter LongConverter NumberConverter ShortConverter

10 次のコンバータは 記述を省略できる BooleanConverter ByteConverter CharacterConverter
DoubleConverter FloatConverter IntegerConverter LongConverter ShortConverter

11 number プロパティと UIコンポーネントとの対応 (3)
<h:inputText id="number1" value="#{ParameterBean.number}“ /> converter属性は省略できる。

12 date プロパティと UIコンポーネントとの対応 (1)
日付を入力してください (例 04/08/09): <h:inputText id="date1" value="#{ParameterBean.date}"> <f:convertDateTime dateStyle="short" /> </h:inputText>

13 date プロパティと UIコンポーネントとの対応 (2)
<h:outputText id="date2" value="#{ParameterBean.date}"> <f:convertDateTime dateStyle="full" /> </h:outputText> 「2004年8月9日 (月曜日)」というように表示される。

14 出力例

15 カスタム・コンバータ コンバータは、自分で作成することもできる。

16 バリデータ

17 バリデータとは何か 入力されたデータが、そのアプリケーションに適合するものかどうかチェックする機能。例えば・・・
ここは必須項目なので、必ず入力しなければならない。 ここには、1~10までの数が入る 適合しなかった場合は、エラーメッセージを表示できる。

18 バリデータに適合する場合の 出力例

19 バリデータに適合しない場合の 出力例

20 JSF標準のバリデータ DoubleRangeValidator LengthValidator LongRangeValidator

21 必須項目のチェック お名前を入力してください(必須): <h:inputText id="name1" required="true"
value="#{ParameterBean.name}" /> データが入力されていないとエラーになる。

22 h:message 要素 <h:inputText id="name1" required="true"
value="#{ParameterBean.name}" /> <h:message for="name1" /> エラーメッセージを表示するUIコンポーネント for 属性で指定した UIコンポーネントに関するエラーメッセージを表示する。

23 文字列の長さのチェック (1) 電話番号を入力してください(10文字以上):
<h:inputText id="tel1“ value= "#{ParameterBean.telephoneNumber}"> <f:validateLength minimum="10" /> </h:inputText> <h:message for="tel1" />

24 文字列の長さのチェック (2) <f:validateLength minimum="10" />
文字列の長さをチェックするバリデータ 最小でも10文字は必要になる。 ほかに、maximum 属性もある。最大で何文字までかチェックする

25 数の範囲のチェック (1) 品物の数を入力してください(1~10): <h:inputText id="quantity1"
value="#{ParameterBean.quantity}"> <f:validateLongRange minimum="1" maximum="10"/> </h:inputText> <h:message for="quantity1" />

26 数の範囲のチェック (2) <f:validateLongRange minimum="1" maximum="10"/>
整数の数の範囲をチェックする。 1 ~ 10 までの範囲となる。それ以外だとエラーになる。

27 バリデータに適合する場合の 出力例

28 バリデータに適合しない場合の 出力例

29 カスタム・バリデータ バリデータは、自分で作成することもできる。


Download ppt "JSFによるWebアプリケーション開発 第10回"

Similar presentations


Ads by Google