uji:fieldDateについて説明します。uji:fieldDateには、以下の機能があります。
また、ブラウザによる対応状況についても説明します。
基本機能
uji:fieldDateタグは、日付・時刻入力フィールドを作成します。
beanとpropertyで指定されたデータBeanのプロパティに対応して、データを表示・入力します。指定されたデータがFieldDateModelインタフェースを持つ場合は、データBean側で文字色などのいくつかの書式を指定することができます。データBean側とアトリビュートと双方で書式を設定した場合は、データBeanの指定が優先されます。FieldDateModelインタフェースの代わりに外付け属性を利用する方法については、“Apcoordinatorユーザーズガイド”を参照してください。
outputFormatアトリビュートでは、表示のフォーマットを指定することができます。入力時はDate#toString()、"yyyyMMdd"、"yyyy/MM/dd"、"HH:mm"の形式に対応します。これ以外の入力形式を使用する場合は、入力文字列をデータに反映するために、FieldDateクラスを継承し、parseメソッドまたはparseDateメソッドをオーバライドしたクラスをデータBeanのプロパティとして使用する必要があります。
uji:fieldDateタグは、HTMLのFORMタグか、uji:formタグまたはuji:mcFormタグの中に記述します。
uji:fieldDateタグのアトリビュートは以下を指定します。
アトリビュート名 | 省略 | 意味 | 省略時の動作 |
---|---|---|---|
bean | 可 | データBeanのJSP変数名を指定します。 | 画面部品タグのカレントオブジェクトを使用します。 |
property | 可 | データBeanのプロパティ名を指定します。 | データBean自体がFieldDateModelインタフェースを持つオブジェクトとして使用されます。 |
width | 可 | フィールドの幅を指定します。(*) | 標準の幅となります。 |
height | 可 | フィールドの高さを指定します。(*) | 標準の高さとなります。 |
borderColor | 可 | フィールド枠の色を指定します。(*) | 標準の色となります。 |
borderType | 可 | フィールド枠の形式を指定します。(*) | 標準の形式となります。 |
borderWidth | 可 | フィールド枠の線幅を指定します。(*) | 標準の線幅となります。 |
insets | 可 | フィールド内側の余白の幅を指定します。(*) | 標準の余白となります。 |
background | 可 | フィールドの背景色を指定します。(*) | 標準の背景色となります。 |
foreground | 可 | 文字色を指定します。(*) | 標準の文字色となります。 |
fontStyle | 可 | 文字スタイルを指定します。(*) | 標準の文字スタイルとなります。 |
fontWeight | 可 | 文字の太さを指定します。(*) | 標準の太さとなります。 |
fontSize | 可 | 文字の大きさを指定します。(*) | 標準の大きさとなります。 |
textDecoration | 可 | 文字の装飾形式を指定します。(*) | 標準の装飾形式となります。 |
visible | 可 | 項目の表示の有無をtrue/falseで指定します。 | true |
enabled | 可 | 項目の操作の可否をtrue/falseで指定します。 | true |
editable | 可 | 項目の編集の可否をtrue/falseで指定します。 | true |
plain | 可 | trueの場合、項目を入力フィールドではなく通常文字で表示します。 | false |
alignmentHorizontal | 可 | フィールド内の文字列の横位置を指定します。left、center、rightのいずれかを指定します。 | left |
verticalAlignment | 可 | フィールドの縦位置合わせ方法を指定します。(*) | 標準値となります。 |
tabIndex | 可 | タブ順を数値で指定します。 | 配置順となります。 |
tipText | 可 | マウスポイント時に表示するティップの文字列を指定します。 | 表示しません。 |
maxLength | 可 | 最大入力文字数を指定します。(**)(***) | チェックしません。 |
maxByteLength | 可 | 最大入力バイト数(日本語2バイト換算)を指定します。UTF-16で0100-FF5Fの範囲の文字を日本語として扱います。(**) | チェックしません。 |
indispensableField | 可 | 必須入力をtrue/falseで指定します。(**) | チェックしません。 |
fullField | 可 | 全桁入力をtrue/falseで指定します。maxLengthまたはmaxByteLengthの指定が必要です。(**) | チェックしません。 |
autoEscape | 可 | 自動脱出をtrue/falseで指定します。maxLengthの指定が必要です。また、IMEを使用しない直接入力の場合にのみ有効です。(**) | 自動脱出しません。 |
infoText | 可 | エラー表示時に、メッセージに付加する文字列を指定します。(**) | 表示しません。 |
outputFormat | 可 | 表示のフォーマットを指定します。(*) | 標準のフォーマットで表示されます。 |
enableChars | 可 | 有効文字を[A-Z]*のような正規表現形式で指定します。(*)(**) | チェックしません。 |
css | 可 | class属性の属性値を指定します。以下のタグにclass属性を設定します。 | class属性を出力しません。 |
grayed | 可 | 操作無効、グレー表示の可否をtrue/falseで指定します。trueを指定した場合は、enabled=false background=silverとなります。 | enabledアトリビュートおよびbackgroundアトリビュートの指定となります。 |
event | 可 | イベント発生時に実行するJavaScriptを記述します。 | イベント発生時にJavaScriptを実行しません。 |
(*)“7.7.1 項目の指定方法”を参照してください。
(**)uji:formタグまたはuji:mcFormタグを使用し、かつ、plainがfalseの場合のみ有効になります。
(***)補助文字の扱いについては“7.3 補助文字の文字数の数え方”を参照してください。
uji:fieldDateタグのコンテントは記述できません。
JSP
<uji:fieldDate bean="body" property="dateData" foreground="green" outputFormat="yyyy/MM/dd" />
beanアトリビュートは画面部品タグのレンダラの中で、カレントオブジェクトが利用できる場合にのみ省略できます。
HTMLに展開されるときに改行コードが挿入されます。改行コードが不要な場合は本タグは使用しないでください。
各ブラウザでそれぞれのアトリビュートが有効かどうかは“ブラウザ対応状況”を参照してください。
XML連携機能
uji:fieldDateタグは、日付・時刻入力フィールドを作成します。
イベントモデルではXML連携機能は利用できません。
uji:fieldDateタグでは、XML連携機能を使用する際に以下のアトリビュートを指定します。これ以外のアトリビュートについては、“基本機能”を参照してください。
アトリビュート名 | 省略 | 意味 | 省略時の動作 |
---|---|---|---|
bean | 可 | データBeanまたはXMLデータBeanのJSP変数を指定します。(*) | カレントオブジェクトを使用します。 |
property | 可 | 表示と入力の対象となる要素をルート要素の子要素名で指定します。(*) | propertyまたはxpathいずれかの指定が必要です。 |
xpath | 可 | 表示と入力の対象となる要素をルート要素からの相対パスで指定します。(*) | propertyまたはxpathいずれかの指定が必要です。 |
(*)“7.6.1 使用するXML要素の指定方法”を参照してください。
propertyまたはxpathには単純要素を指定します(*1)。
XMLデータで使用できる日付の書式は以下のとおりです。書式はjava.text.SimpleDateFormatクラスで使用する時刻パターンで記しています。なお、UTCを表すタイムゾーンIDとして"Z"が使用できます。
書式 | 例 |
---|---|
yyyyMMdd | 19901124 |
yyyy/MM/dd | 1990/11/24 |
HH:mm | 09:40 |
yyyy | 1990 |
yyyy-MM | 1990-11 |
yyyy-MM-dd | 1990-11-24 |
yyyy-MM-dd'T'HH:mmzzz | 1990-11-24T09:40+09:00 |
yyyy-MM-dd'T'HH:mm:sszzz | 1990-11-24T00:40:59Z |
yyyy-MM-dd'T'HH:mm:ss.SSSzzz | 1990-11-24T09:40:59.250+09:00 |
EEE MMM dd HH:mm:ss zzz yyyy | Sat Nov 24 09:40:59 JST 1990 |
入力データによってXMLデータが更新される時は、タイムゾーンとしてUTCが使用され、書式は"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"になります。
(*1) 要素の集合を指定した場合の動作は“7.6.3 要素や属性の集合を指定した場合の動作”を参照してください。
(*2) 要素の内容に改行が含まれる場合、改行の直前までが使用されます。
XML
<root> <date>20011026</date> </root>
JSP
日付:<uji:fieldDate bean="body" xpath="date" outputFormat="yyyy/MM/dd" />
表示画面
イベントモデル
uji:fieldDateタグは、日付・時刻入力フィールドを作成します。
uji:fieldDateタグは、uji:formタグの中に記述します。
uji:fieldDateタグの動作については、“基本機能”を参照してください。
uji:fieldDateタグは、イベントモデルで使用する際に以下のアトリビュートを指定します。これ以外のアトリビュートについては、“基本機能”を参照してください。
アトリビュート名 | 省略 | 意味 | 省略時の動作 |
---|---|---|---|
bean | 可 | managed beanの名前を指定します。 | 画面部品タグのカレントオブジェクトを使用します。 |
property | 可 | managed beanのプロパティ名を指定します。 | managed bean自体がFieldDateModelインタフェースを持つオブジェクトとして使用されます。 |
validator | 可 | バリデータメソッドをメソッドバインディング式で指定します。 | バリデータを使用しません。 |
converter | 可 | コンバータをコンバータIDもしくはバリューバインディング式で指定します。 | コンバータを使用しません。 |
valueChangeListener | 可 | バリューチェンジリスナメソッドをメソッドバインディング式で指定します。 | バリューチェンジリスナメソッドを使用しません。 |
immediate | 可 | 値の変換と検証を処理するフェーズを指定します。
| false |
id | 可 | コンポーネントのIDを指定します。 | 自動的に付与されます。 |
uji:fieldDateタグのコンテントには以下のタグが記述できます。
f:validator(0個以上)
f:converter(最大1個)
f:valueChangeListener(0個以上)
JSP
<f:view> <uji:form name="myform"> <uji:fieldDate bean="myBean" property="dateData" foreground="green" outputFormat="yyyy/MM/dd" /> </uji:form> </f:view>
uji:fieldDateタグでバリデータを利用する場合、バリデータに渡されるオブジェクトの型はjava.lang.Stringです。
uji:fieldDateタグでコンバータを利用する場合、getAsStringメソッドに渡される第3引数の型や、getAsObjectで返却するオブジェクトの型はjava.lang.Stringです。
標準コンバータを利用することはできません。
その他の注意事項については、“基本機能”を参照してください。
ブラウザ対応状況
アトリビュート | IE5.5 | IE6 | IE7 | IE8 | Firefox2.0 | Firefox3.0 | Safari2.0 |
---|---|---|---|---|---|---|---|
width | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
height | ○ | ○ | ○ | ○ | ○ | ○ | × |
borderColor | ○ | ○ | ○ | ○ | ○ | ○ | × |
borderType | ○ | ※1 | ※1 | ※1 | ○ | ○ | × |
borderWidth | ○ | ○ | ○ | ○ | ○ | ○ | × |
insets | ○ | ○ | ○ | ○ | ○ | ○ | × |
background | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
foreground | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
fontStyle | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
fontWeight | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
fontSize | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
textDecoration | ※2 | ※2 | ※2 | ※2 | ○ | ○ | × |
visible | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
enabled | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
editable | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
plain | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
alignmentHorizontal | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
verticalAlignment | ※3 | ○ | ○ | ○ | ○ | ○ | × |
tabIndex | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
tipText | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
maxLength | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
maxByteLength | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
indispensableField | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
fullField | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
autoEscape | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
infoText | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
outputFormat | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
enableChars | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
css | ※4 | ※4 | ※4 | ※4 | ※4 | ※4 | ※4 |
grayed | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
※1: Windows XPまたはWindows Vistaで、画面のテーマを[Windows XP]または[Windows Vista]に設定している場合は有効になりません。
※2: blinkは指定できません。
※3: 実数値+単位は、指定不可です。
※4: CSSを使った設定が実際に表示に反映されるかどうかはブラウザの仕様に依存します。