基本機能
uji:comboBoxタグは、コンボボックスを作成します。 uji:comboBoxタグは以下の動作をします。
beanとpropertyで指定されたデータBeanのプロパティに対応して、データを表示・入力します。取得したオブジェクトはComboBoxModelインタフェースを持つ必要があります。ComboBoxModelインタフェースの代わりに外付け属性を利用する方法については、“Apcoordinatorユーザーズガイド”を参照してください。
データBean側で文字色などのいくつかの書式を指定することができます。データBean側とアトリビュートと双方で書式を設定した場合は、データBeanの指定が優先されます。
uji:comboBoxタグは、HTMLのFORMタグか、uji:formタグまたはuji:mcFormタグの中に記述します。
uji:comboBoxタグのアトリビュートは以下を指定します。
アトリビュート名 | 省略 | 意味 | 省略時の動作 |
---|---|---|---|
bean | 可 | データBeanのJSP変数を指定します。 | 画面部品タグのカレントオブジェクトを使用します。 |
property | 可 | データBeanのプロパティ名を指定します。 | データBean自体がComboBoxModelインタフェースを持つオブジェクトとして使用されます。 |
width | 可 | コンボボックスの幅を指定します。(*) | 標準の幅となります。 |
background | 可 | コンボボックスの背景色を指定します。(*) | 標準の背景色となります。 |
foreground | 可 | 文字色を指定します。(*) | 標準の文字色となります。 |
fontStyle | 可 | 文字スタイルを指定します。(*) | 標準の文字スタイルとなります。 |
fontWeight | 可 | 文字の太さを指定します。(*) | 標準の太さとなります。 |
fontSize | 可 | 文字の大きさを指定します。(*) | 標準の大きさとなります。 |
textDecoration | 可 | 文字の装飾形式を指定します。(*) | 標準の装飾形式となります。 |
enabled | 可 | 項目選択の可否をtrue/falseで指定します。 | true |
tabIndex | 可 | タブ順を数値で指定します。 | 配置順となります。 |
css | 可 | class属性の属性値を指定します。以下のタグにclass属性を設定します。 | class属性を出力しません。 |
visible | 可 | 項目の表示の有無をtrue/falseで指定します。 | true |
event | 可 | イベント発生時に実行するJavaScriptを記述します。 | イベント発生時にJavaScriptを実行しません。 |
(*)“7.7.1 項目の指定方法”を参照してください。
uji:comboBoxタグのコンテントは記述できません。
JSP
<uji:comboBox bean="body" property="combo" width="120" foreground="blue" />
beanアトリビュートは画面部品タグのレンダラの中で、カレントオブジェクトが利用できる場合にのみ省略できます。
各ブラウザでそれぞれのアトリビュートが有効かどうかは“ブラウザ対応状況”を参照してください。
XML連携機能
uji:comboBoxタグは、コンボボックスを作成します。uji:comboBoxタグは以下の動作をします。
beanが保持するXMLツリーからpropertyまたはxpathで指定された要素を取得し、コンボボックス情報とします。
コンボボックス情報の子要素がコンボボックスの選択肢となります。
selectedXPathが指定されていれば、指定されたデータに従ってデフォルトの選択状態を決定します。
イベントモデルではXML連携機能は利用できません。
uji:comboBoxタグでは、XML連携機能を使用する際に以下のアトリビュートを指定します。これ以外のアトリビュートについては、“基本機能”を参照してください。
アトリビュート名 | 省略 | 意味 | 省略時の動作 |
---|---|---|---|
bean | 可 | データBeanまたはXMLデータBeanのJSP変数を指定します。(*) | カレントオブジェクトを使用します。 |
property | 可 | コンボボックス情報として使用する要素をルート要素の子要素名で指定します。(*) | ルート要素を使用します。 |
xpath | 可 | コンボボックス情報として使用する要素をルート要素からの相対パスで指定します。(*) | ルート要素を使用します。 |
selectedXPath | 可 | コンボボックスの選択状態を保持する要素または属性を指定します。要素を指定する場合はルート要素からの相対パスで、属性を指定する場合は選択肢となる要素からの相対パスで指定します。(**) | 選択状態は保持されません。 |
valueAttr | 可 | 選択肢の識別値として使用する属性を指定します。選択肢となる要素の属性名で指定します。 | 選択肢となる要素の内容を使用します。 |
(*)“7.6.1 使用するXML要素の指定方法”を参照してください。
(**)“7.6.2 属性指定時の注意”を参照してください。
propertyまたはxpathには複合要素を指定します(*1)。指定された要素がコンボボックス情報として使用されます。
コンボボックス情報の子要素が選択肢となります。単純要素だけが選択肢となります。選択肢となる要素の内容が選択肢の表示文字列として使用されます(*2)。
selectedXPathには単純要素または属性を指定します(*1)。このアトリビュートで選択状態の保持方法を指定します。
単純要素を指定した場合、その要素の内容で選択状態を表します。その内容は選択肢を識別する値です(*2)。選択肢となる要素の属性のうち、valueAttrで指定された属性の値が選択肢の識別値として使用されます。valueAttr省略時は選択肢となる要素の要素名が識別値となります。
属性を指定した場合、選択肢となる要素の属性で選択状態を表します。選択済みの選択肢では、selectedXPathで指定された属性の値は"true"です。選択されていない選択肢では"false"です。なお、"true"、"false"の大文字小文字は区別しません。
データ入力時には、selectedXPathで指定したデータが更新されます。画面表示時は、selectedXPathで指定したデータに従って選択状態が決まります。
(*1) 要素の集合または属性の集合を指定した場合の動作は“7.6.3 要素や属性の集合を指定した場合の動作”を参照してください。
(*2) 要素の内容または属性の値に改行が含まれる場合、改行の直前までが使用されます。
要素に選択状態を保持
XML
<root> <selected>baseball</selected> <combo> <data value="baseball">野球</data> <data value="soccer">サッカー</data> <data value="tennis">テニス</data> </combo> </root>
JSP
<uji:comboBox bean="body" xpath="combo" selectedXPath="selected" valueAttr="value"/>
表示画面
属性に選択状態を保持
XML
<root> <combo> <data selected="false">野球</data> <data selected="false">サッカー</data> <data selected="true">テニス</data> </combo> </root>
JSP
<uji:comboBox bean="body" xpath="combo" selectedXPath="@selected"/>
表示画面
イベントモデル
uji:comboBoxタグは、コンボボックスを作成します。
uji:comboBoxタグは、uji:formタグの中に記述します。
uji:comboBoxタグの動作については、“基本機能”を参照してください。
uji:comboBoxタグは、イベントモデルで使用する際に以下のアトリビュートを指定します。これ以外のアトリビュートについては、“基本機能”を参照してください。
アトリビュート名 | 省略 | 意味 | 省略時の動作 |
---|---|---|---|
bean | 可 | managed beanの名前を指定します。 | 画面部品タグのカレントオブジェクトを使用します。 |
property | 可 | managed beanのプロパティ名を指定します。 | managed bean自体がComboBoxModelインタフェースを持つオブジェクトとして使用されます。 |
id | 可 | コンポーネントのIDを指定します。 | 自動的に付与されます。 |
immediate | 可 | 値の検証を処理するフェーズを指定します。
| false |
valueChangeListener | 可 | バリューチェンジリスナメソッドをメソッドバインディング式で指定します。 | バリューチェンジリスナメソッドを使用しません。 |
uji:comboBoxタグのコンテントには以下のタグが記述できます。
f:valueChangeListener(0個以上)
JSP
<f:view> <uji:form name="myform" method="post"> <uji:comboBox bean="body" property="combo" width="120" foreground="blue" /> </uji:form> </f:view>
注意事項については、“基本機能”を参照してください。
ブラウザ対応状況
アトリビュート | IE5.5 | IE6 | IE7 | IE8 | Firefox2.0 | Firefox3.0 | Safari2.0 |
---|---|---|---|---|---|---|---|
width | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
background | ○ | ○ | ○ | ○ | ○ | ○ | × |
foreground | ○ | ○ | ○ | ○ | ○ | ○ | × |
fontStyle | ○ | ○ | ○ | ○ | ○ | ○ | × |
fontWeight | ○ | ○ | ○ | ○ | ○ | ○ | × |
fontSize | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
textDecoration | ※1 | ※1 | ※1 | ※1 | ○ | ○ | × |
enabled | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
tabIndex | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
css | ※2 | ※2 | ※2 | ※2 | ※2 | ※2 | ※2 |
visible | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
※1: blink, overlineは指定できません。
※2: CSSを使った設定が実際に表示に反映されるかどうかはブラウザの仕様に依存します。