Interstage Studio ユーザーズガイド |
目次 索引 |
第5章 ビュー | > 5.11 UIマネージャビュー | > 5.11.1 UIマネージャビューの機能 | > 5.11.1.3 入力された値の型を変換する処理の設定 |
型の変換処理を設定するためには、UIマネージャビューの左側にあるツリーから[型変換] > [コンバータの設定]を選択します。以下にコンバータ設定画面で設定できる項目について説明します。
項目 |
説明 |
---|---|
なし |
型の変換を行わない場合に選択します。 |
標準のコンバータを使用する |
JSFであらかじめ用意されているコンバータを使用する場合に選択します。 |
日時として表示する |
入力された値を日時のフォーマットで表示する場合に選択します。 |
表示種別 |
表示するフォーマットを以下のものから選択します。デフォルトでは日付(date)が選択されています。
|
日付の表示形式 |
表示種別が"日付(date)"または"日付と時刻の両方(both)"の場合、表示形式を以下のものから選択します。デフォルトでは"標準(default)"が選択されています。
|
日付・時刻パターン |
表示に使用するパターンを指定します。よく使用するパターンから選択するか、直接入力することができます。 |
数値として表示する |
入力された値を数値のフォーマットで表示する場合に選択します。 |
表示種別 |
表示するフォーマットを以下のものから選択します。デフォルトでは"数値(number)"が選択されています。
|
数値パターン |
表示に使用するパターンを指定します。よく使用するパターンから選択するか、直接入力することができます。 |
カスタムコンバータを設定する |
コンバータクラスを設定する場合に選択します。 |
ID |
コンバータのIDを指定します。 |
クラス名 |
コンバータクラスのクラス名を指定します。 |
参照 |
クラスを選択するダイアログボックスを表示します。 |
生成 |
新規ファイルを追加し、コンバータクラスを作成します。 |
*1) 数値パターンに"\"を含んだ文字列を指定したい場合には、"\\"のようにエスケープ文字列の形式にしてください。
各項目で設定できる内容を、具体的に説明します。
UIコンポーネントのタグの子要素として、f:convertDateTimeが追加されます。[表示種別]、[日付の表示形式]、[日付・時刻パターン]で入力された値は、それぞれf:convertDateTimeタグのtype、dateStyle、pattern属性に設定されます。
例) <h:inputText value="#{__myBean.name}"> <f:convertDateTime dateStyle="medium" type="date" pattern="yyyyMMdd"/> </h:inputText>
UIコンポーネントのタグの子要素として、f:convertNumberが追加されます。[表示種別]、[数値パターン]で入力された値は、それぞれf:convertDateTimeタグのtype、pattern属性に設定されます。
例) <h:inputText value="#{__myBean.name}"> <f:convertNumbertype="number" pattern="####.##"/> </h:inputText>
UIコンポーネントのconverter属性に、[ID]で入力した文字列が指定されます。コンバータのIDとして指定するのは、JSFアプリケーションで使用する設定ファイル(faces-config.xml)に登録してある<converter-id>の値です。
例) <h:inputText value="#{__myBean.name}" converter= "myConverter"/>
ID、パッケージ、クラス名を入力後に[生成]をクリックすると新規ファイルを作成し、設定されたクラスが追加されます。実際に生成されるソースには、StateHolderインタフェースが実装されていますが、以下の例では省略しています。
例) package myApp; public class MyConverter implements Converter { public Object getAsObject(FacesContext context, UIComponent component, String value) { return null; } public String getAsString(FacesContext context, UIComponent component, Object value) { return ""; } }
faces-config.xmlには、追加したクラスをコンバータとして登録します。
例) <converter> <converter-id>myConverter</Converter-id> <converter-class>myApp.MyConverter</converter-class> </converter>
この場合には、各タグの値は以下のように設定されます。
要素 |
設定値 |
---|---|
<converter-id> |
[ID]で入力された値が設定されます。 |
<converter-class> |
([クラス名]で入力された値)が設定されます。 |
[追加]、[生成]をクリックしてJavaソースファイルにメソッドやクラスを追加する場合には、以下の事項に注意してください。
- 一度Javaソースに追加したメソッドやクラスは、再度UIマネージャビューで名前を変更しても変名されません。UIマネージャビューで変名されたメソッドやクラスは新規に追加されます。以前のメソッド、クラスは削除されません。
- すでに存在するメソッドやクラスを設定した場合には、新たに作成せず、既存のメソッドやクラスにフォーカスが設定されます。
UIマネージャやコンテキストメニューを操作して追加されるJavaのソースファイルには、よく使用する処理があらかじめ記述してあります。
- カスタムコンバータのクラスは、StateHolderインタフェースを実装しています。このインタフェースはリクエスト間でJSPページの状態を保持するためのメソッドを提供しています。
目次 索引 |