Download presentation
Presentation is loading. Please wait.
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
カスタム・バリデータ バリデータは、自分で作成することもできる。
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.