<jbo:UrlEvent>または<jbo:FormEvent>データ・タグにより送信されるJSPイベントを処理します。
JSP構文
<jbo:OnEvent
[ name="[eventName | * ]" ] | [ list="listofEventName" ]
[ datasource="datasourceName" ] | [ viewobject="viewobjectName" ]>
[JSP_tags]
</jbo:OnEvent>
説明
<jbo:OnEvent>データ・タグは、送信JSPページのjboEvent
URLパラメータにより特定されたイベントを処理します。OnEventデータ・タグは、OnEventタグ条件がtrueの場合のみJSPページでタグの本体が実行されるため、条件文のように機能します。OnEvent条件をテストする場合、JSPページはOnEvent属性の値を<jbo:UrlEvent>データ・タグまたは<jbo:FormEvent>データ・タグにより生成されたリクエスト・パラメータの値と比較します。
OnEvent条件がtrueの場合(データソースおよびイベント名が一致する場合)、OnEventデータ・タグの本体に記述する任意のBC4Jデータ・タグのaction
属性に対して、イベント名をデフォルト値として指定します。たとえば、次のいずれかの定義済ビジネス・コンポーネント・イベントを送信し、OnEventデータ・タグの本体で認識されたイベントを使用して処理をトリガーできます。
FirstSet
、NextSet
、PreviousSet
、LastSet
およびGotoSet
。First
、Next
、Previous
およびLast
。Update
、Delete
およびInsert
。create
、createinrange
およびcreateonly
。create
は、行セットの現在の行の前(または現在の行が存在しない場合は行セットの最初)に新しい行を挿入し、現在位置を新しい行に設定します。createinrange
は、現在位置を変更せずに、範囲の最初に新しい行を挿入します。createonly
は新しい行を作成しますが、行セットには挿入しません。createonly
は、各属性のデフォルト値を取り出すためだけに行を作成する必要があり、その後この行を使用しない場合に便利です。current
は、行セットの現在の行に行ポインタを設定します。find
は、リクエスト・オブジェクトのURLパラメータから行を取得します。get
と異なり、行の取得後に現在の行を変更します。get
は、リクエスト・オブジェクトのURLパラメータから行を取得します。find
と異なり、行の取得後に現在の行を変更しません。lock
は、行セット内で表示または変更している行データが、データの処理が終了するまで他のユーザーに変更されないようにします。active
は、現在<jbo:RowsetIterator>データ・タグの本体で反復されている行を取得します。この処理では、現在の行は変更されません。Submit
は、属性値をデータベースにコミットします。次のデータ・タグを使用し、イベント・リクエスト・パラメータを生成できます。
属性
name
属性の値としてアスタリスク(*
)を入力すると、任意のイベント・パラメータに対してOnEventデータ・タグの本体を実行できます。識別子のリストを使用して比較する場合、この属性を省略し、かわりにlist
属性を使用します。 name
属性を使用します。
注意: イベント識別子をname
属性またはlist
属性のいずれにも指定しない場合、OnEventデータ・タグ本体は、送信された任意のJSPイベントに対して実行されます。これは、name
属性の値としてアスタリスク(*
)を入力した場合と同じ結果になります。
viewobject
属性でビュー・オブジェクト名を指定する場合、またはOnEventデータ・タグ本体を任意のビュー・オブジェクトに対して実行する場合は、この属性を省略できます。datasource
属性でデータソース名を指定する場合、またはOnEventデータ・タグ本体を任意のビュー・オブジェクトに対して実行する場合は、この属性を省略できます。
注意: アプリケーション・モジュールで定義された既存のビュー・オブジェクト、またはCreateViewObjectデータ・タグを使用して作成したビュー・オブジェクトを指定できます。ネストされたアプリケーション・モジュールにビュー・オブジェクトが含まれている場合、appmodNested.viewobjectName
のように、ビュー・オブジェクト名をアプリケーション・モジュール名とともに指定する必要があります。
例
次の例では、jboEvent
URLパラメータをアンカー・リンクで送信しています。
<a href="<targetJSP.jsp>?jboEvent=Create">New</a>
または、特定のビュー・オブジェクトに対してeventName
を使用できます。
<% String voName = dsNav.getViewObjectName(); %>
<a href="<targetJSP.jsp>?jboEvent=Last&jboEventVo=<%=voName%>"Last</a>
最初の例では、ビュー・オブジェクト名が省略されたjboEventパラメータの値が作成されています。この場合、イベントはJSPページのデータソース内の任意のビュー・オブジェクトに適用されます。2番目の例では、イベントはJSPページのデータソース内の特定のビュー・オブジェクトに対して実行されます。