BC4JフォームのInputデータ・タグについて

Inputデータ・タグは、次の3つのグループに分類されます。

レンダリングされたコントロールをBC4Jデータソースの特定の属性にバインドするには、各Inputデータ・タグに次の共通タグ属性が必要です。

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

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

各種UIコントロール

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

コントロール・タイプBC4Jデータ・タグ
基本テキスト入力

<jbo:InputText .../>

複数行テキスト入力領域

<jbo:InputTextArea .../>

単一選択コンボボックス

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

複数選択コンボボックス

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

LOV選択入力

<jbo:InputSelectLOV .../>

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

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

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

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

日付選択入力

<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フォーム要素を使用する行の更新の違いは、BC4Jデータ・タグではデータソースのデフォルト値を表示できる点です。さらに、Inputデータ・タグをBC4Jデータソースにバインドしているため、HTMLフォーム要素を使用すると、そのBC4Jデータソースで提供されるデフォルトのサイズ設定、書式設定および可能なデータ検証などの利点がなくなります。

基本テキスト入力

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

選択入力

これらのコントロールにより、ユーザーはデータベースの選択肢問合せリストから選択できます。これらのコントロールは、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]); %> 

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

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

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

次のタグ属性は、更新する別のデータソースおよび属性を識別します。識別する属性は、ユーザーが編集する行のものです。

選択入力タグに指定する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パラメータの名前と値のペアとして渡すデータを提供するにすぎません。

専用入力

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


BC4Jデータ・タグを使用した行の編集について
BC4Jデータ・タグを使用した行の作成について

データ・タグを使用した行の更新
データ・タグを使用した行の作成