ビジネス・コンポーネント・フォームのInputデータ・タグについて

ビジネス・コンポーネント・フォームのInputデータ・タグは、次の3つのグループに分類されます。

レンダリングされたコントロールをビュー・オブジェクトの特定の属性にバインドするためには、各Inputデータ・タグに次の共通タグ属性が必要です。

重要: Inputデータ・タグのDataSourceおよびDataItemに指定する値は、大/小文字の区別があります。 JSPランタイム例外を回避するには、ビュー・オブジェクト名および属性名を、ビジネス・コンポーネント・プロジェクトに表示されるものと正確に一致させます。

1つの属性の値からユーザーが複数選択できるフォームを作成する場合、送信JSPページには、複数のHTTPリクエスト・パラメータを処理するためのJSPスクリプトレット・コードがインクルードされている必要があります。この問題は、後述の「選択入力」のセクションで説明します。

各種UIコントロール

JDeveloperのビジネス・コンポーネント・データ・タグ・ライブラリで提供されるビジネス・コンポーネントInputデータ・タグは、新規または既存の行のデータ上で機能する各種のUIコントロールをレンダリングします。 <jbo:InputXxx.../>データ・タグにより提供される入力操作は、次の一般的なUIコントロールと同等です。

コントロール・タイプ ビジネス・コンポーネント・データ・タグ
基本テキスト入力

<jbo:InputText .../>

複数行テキスト入力領域

<jbo:InputTextArea .../>

単一選択コンボボックス

<jbo:InputSelect multiple = no ... />

複数選択コンボボックス

<jbo:InputSelect multiple = yes .../>

LOV選択入力

<jbo:InputSelectLOV .../>

単一選択ラジオ・ボタン・グループ

<jbo:InputSelectGroup> multiple = no .../>

複数選択チェック・ボックス・グループ

<jbo:InputSelectGroup multiple = yes .../>

日付選択入力

<jbo:InputDate .../>

パスワード入力

<jbo:InputPassword .../>

非表示入力

<jbo:InputHidden .../>

InputRender入力

<jbo:InputRender .../>

JSPが、作成したHTMLフォーム内で<jbo:InputXxx.../>データ・タグをレンダリングする場合は、コントロールにより生成されるソースHTMLが標準のHTMLフォーム要素として表示されます。たとえば、顧客名の行データを表示するために使用されるInputTextデータ・タグは、名前と値のペアを定義する次の静的HTML入力要素を生成します。

<INPUT TYPE="TEXT" NAME="CUSTNAME" VALUE="John" ROWS="1" SIZE="20" />
<INPUT TYPE="HIDDEN" NAME="_CUSTNAME" VALUE="John" />

<jbo:InputXxx.../>データ・タグを使用する行の更新と、静的HTMLフォーム要素を使用する行の更新の違いは、ビジネス・コンポーネント・データ・タグではビュー・オブジェクトのデフォルト値を表示できる点です。 さらに、Inputデータ・タグをビュー・オブジェクトにバインドしているため、HTMLフォーム要素を使用すると、そのビュー・オブジェクトで提供されるデフォルトのサイズ設定、書式設定および可能なデータ検証などの利点が失われます。

基本テキスト入力

これらのコントロールは、レンダリングされると特定の属性の現行値を表示し、ユーザーはその値を編集できます。送信されると、更新値を指定した属性に割り当てます。

選択入力

これらのコントロールにより、ユーザーはデータベースの選択肢問合せリストから選択できます。これらのコントロールは、2種類の異なるビュー・オブジェクト(選択リストを表示するためのものと、更新を受けるためのもの)に依存します。いくつかの選択入力タグは、単一選択リスト(multiple="false")または複数選択リスト(multiple="true")のいずれを使用可能にするかによって、レンダリングが異なります。

重要: いずれかの選択入力タグにmultiple="true"を指定した場合、送信JSPページには、複数のHTTPリクエスト・パラメータを処理するためのJSPスクリプトレット・コードがインクルードされている必要があります。 データ入力JSPフォームから値を取得するには、ServletRequestインタフェースのgetParameterValues()メソッドを使用します。送信JSPページのビルトインのリクエスト・オブジェクトを次のように使用します。ここで、getParameterValues()に渡されるStringは、コントロールのdataitem属性の値です。

<% String params[] = request.getParameterValues("MyDataItemValue");
    for ( int i=0; i< params.length; i++) out.println(params[i]); %>

選択入力タグには、ユーザーに表示されるもの、および更新されるものを定義する一連の共通属性があります。

次のタグ属性は、可能なユーザーの選択を表示するためにコントロールによって使用されるビュー・オブジェクトおよび属性を識別します。 ビュー・オブジェクトおよび属性の名前には大/小文字の区別があり、ビジネス・コンポーネントの名前と正確に一致する必要があります。

次のタグ属性は、ユーザーが行を編集しているビュー・オブジェクトの行セットを更新するため、コントロールにより処理中のページに渡されるデータを指定します。(ほとんどの場合、ユーザーにはこの値は見えません。)

次のタグ属性は、更新する別のビュー・オブジェクトおよび属性を識別します。識別する属性は、ユーザーが編集する行のものです。

選択入力タグに指定する2つのビュー・オブジェクトは、一意である必要があります。次のダイアグラムは、2つの別々のビュー・オブジェクトを使用する属性の相互作用を示しています。

interaction of the attributes between datasources

ユーザーの選択の結果生じる更新は、次の順序で行われます。

  1. 挿入JSPページが、<jbo:InputSelect...>データ・タグを使用してドロップダウン・リストをレンダリングします。レンダリングされたコントロールは、DisplayDataSourceのDisplayDataItem(Name)属性を使用して従業員名を表示します。
  2. ユーザーは、リストから従業員名を1つ選択します。
  3. ユーザーは「Send」をクリックします。
  4. 挿入JSPページが、DisplayValueDataItem(EmpNo)を名前と値のペアとして使用するHTTPパラメータを送信JSPページ(非表示)に渡し、それによってDataSource内のDataItem(EmpNo)を更新します。

Inputデータ・タグにより2つのビュー・オブジェクトの名前が指定される際に、コントロールにより生成されたソースHTMLが標準の<SELECT>要素として表示されます。 この例のソースHTMLは次のようになります。


<SELECT NAME="Name" CLASS="vrSelectField" >
   <OPTION SELECTED VALUE="Abbey">Abbey <OPTION VALUE="Rose">Rose
   <OPTION VALUE="Jones">Jones 
</SELECT>

指定されたビュー・オブジェクトは、単に<SELECT>要素に、フォームがHTTPパラメータの名前と値のペアとして渡すデータを提供するにすぎません。

専用入力

これらのコントロールには、日付選択を可能にする、あるいはパスワード入力を受け入れるなどの特定の目的があります。


ビジネス・コンポーネント・データ・タグを使用した行の編集について
ビジネス・コンポーネント・データ・タグを使用した行の作成について

ビジネス・コンポーネント・データ・タグを使用した行の更新

 

Copyright © 1997, 2004, Oracle. All rights reserved.