単一レコードのための編集フォームをページへ挿入し、編集送信のイベントを生成します。
JSP構文
<jbo:DataEdit
datasource="datasourceId"
[ targetURL="event-handling page | the JSP with the component" ]
[ relativeUrlPath="component's JSP page | DataEditComponent.jsp" ]
/>
説明
データソースの特定のレコードを編集するためのHTMLフォームを表示するには、<jbo:DataEdit>コンポーネント・タグを使用します。フォームに表示できるものは次のとおりです。
DataEditコンポーネント・タグは、次の2つの方法で編集する行を取得します。
DataNavigateコンポーネントを使用してデータソースの現在の行を変更し、その変更をDataEditコンポーネントに反映できます。両方のコンポーネントが同じデータソースにバインドされている必要があります。
現在の行を使用せずに特定の行を取得する場合、rowkeyを編集フォームに渡す必要があります。この場合、DataTableコンポーネントを使用できます。DataTableコンポーネントでedittarget属性をDataEditコンポーネントを含む編集フォームJSPページの名前に設定すると、DataEditコンポーネントはDataTableコンポーネントからrowkeyを取得できます。また、次のようにフォームで命名した入力パラメータを介してrowkeyを自分で明示的に渡すことも可能です。
<td class="tablecell"> <a href="<%=editTargetParam%>?RowKey=<jbo:ShowValue datasource='dsBrowse' dataitem="RowKey"/>&originURL=<%=originURLParam%>">Edit</a> </td>
通常、ユーザーが編集フォームで先に進むかまたは戻るかを決定する前に変更内容を確認できるように、別のJSPページを用意します。このページは送信JSPページと呼ばれ、targetURL属性で識別されます。編集と処理を同じJSPページ内で実行する場合は、JSPページで送信イベントを処理できるようにする必要があります。
属性
datasource: <jbo:DataSource>データ・タグで定義したデータソースID。
指定するデータソースでは、ビュー・オブジェクトを順方向のみのモードで使用しないでください。<jbo:DataSource>データ・タグのforwardonly
属性のデフォルト設定はfalse
です。forwardonly
属性をtrue
に設定すると、データ・コンポーネント・タグを使用するJSPページでランタイム・エラーが発生します。
relativeUrlPath: (オプション)コンポーネント・タグを実装するJSPファイルの場所。デフォルトでは、JDeveloperに用意されているDataEditComponent.jsp
ファイルを参照します。コンポーネントの動作をカスタマイズするために独自のコンポーネント実装ファイル(.jsp
)の名前を指定できます。カスタマイズ済の既存のコンポーネント実装ファイル(.jsp
)を参照するよう名前を編集することもできます。
作成または参照するファイルがプロジェクトのHTMLルート・ディレクトリのサブディレクトリにある場合は、相対パスを指定する必要があります。たとえば、カスタム・コンポーネント実装ファイルMyDataEditComponent.jsp
をcomponents
というHTMLルートのサブディレクトリに作成した場合、relativeUrlPathの値は/components/MyDataEditComponent.jsp
になります。
例
次の例では、バインド先のデータソースに対する編集フォームを表示し、編集された値を処理するために別のJSPページに送信します。この例では、DataEditの編集ターゲットはJSP編集フォームです。DataEditコンポーネントのJSPページ(DataEditタグをJSPページに挿入すると生成される)の場所は、プロジェクトのJSPページと同じ階層です。
<jbo:ApplicationModule id="am" configname="package1.Package1Module.Package1ModuleLocal" releasemode="Reserved" /> <jbo:DataSource id="ds" appid="am" viewobject="DeptView" /> DeptView Edit Form <jbo:DataEdit datasource="ds" targetURL="DeptView_SubmitEdit.jsp" />
BC4J JSPページへのコンポーネント・タグの追加
BC4Jコンポーネント・タグのカスタマイズ