JavaScriptアプリケーションからビジネスロジックを同期通信で呼び出すには、RcfRequestオブジェクトのinvoke関数を使用します。
注意
ビジネスロジックの実行(同期通信)は、Internet Explorerのみで利用できます。
JavaScriptアプリケーションとビジネスロジック間を同期で通信するための関数です。
JavaScriptアプリケーションの送信データであるオブジェクトを、同期通信を使用して送信(POST)します。また、ビジネスロジックの処理結果をJavaScriptのオブジェクトとして受け取り、関数の戻り値として返却します。
RcfRequest.invoke関数の記述形式
以下に、RcfRequest.invoke関数の記述形式を示します。
RcfRequest.invoke(dataObj, requestParams, option);
dataObj
サーバ側に送信するデータのオブジェクトです。
データを送信しない場合は、nullを指定します。
requestParams
JavaBeanのIDや任意のリクエストパラメーターなど、ビジネスロジックの動作を制御するための値を格納したリクエストパラメーターオブジェクトです。
リクエストパラメーターが不要な場合は、nullを指定します。
以下に、リクエストパラメーターオブジェクトのプロパティを示します。
プロパティ名 | 概要 | 型 | 省略可否 |
---|---|---|---|
beanId | 画面データを格納するJavaBeanの識別子 | string | dataObjがnullの場合は省略可 |
任意 | アプリケーションが任意に設定できるリクエストパラメーター | string | 可 |
option
RcfRequestオブジェクトの動作を制御するための値を格納した通信設定オブジェクトです。
optionにnullが指定された場合、または省略された場合は、通信せずにエラーが発生します。
以下に、通信設定オブジェクトのプロパティを示します。
プロパティ名 | 概要 | 型 | 省略可否 |
---|---|---|---|
url | サーブレットのURL | string | 不可 |
preInvoke | メソッド呼出し直前に呼ばれるコールバック | function | 可 |
postInvoke | メソッド呼出し完了直後に呼ばれるコールバック | function | 可 |
以下に、通信設定オブジェクトのプロパティに関する注意事項を示します。
各種コールバック関数がnullの場合、コールバック呼出しは行われません。
プロパティの型がfunctionとなっているものは、JavaScriptの関数を指定します。
戻り値
ビジネスロジックの処理結果がある場合には、処理結果(オブジェクト)を返却します。
ビジネスロジックの処理結果がnullの場合には、nullを返却します。
RcfRequest.invoke関数の記述例
以下に、RcfRequest.invoke関数の記述例を示します。
以下の例では、「databean」をIDとするJavaBeanにデータが格納されます。
function clickExecuteButton() { // dataObjの作成 var dataObj = new Object(); dataObj.key = ...; // requestParamsの作成 var reqParam = { beanId :'databean', // JavaBeanのIDを指定 command:'init' // コマンド名を指定(任意) }; // optionの作成 var option = { url:'entry' }; try { var res = RcfRequest.invoke(dataObj, reqParam, option); // 受信したオブジェクト(res)の処理 ...; } catch (e) { alert("Application Error (" + e.message + " )"); } }
RcfRequest.invoke関数が通知する例外
RcfRequest.invoke関数が通知する例外については、「J.2.2 通信フレームワーク(JavaScript)に関するメッセージ」および「J.3.9 サーブレット連携機能に関するメッセージ」を参照してください。