Ajaxフレームワーク ユーザーズガイド |
目次 索引 |
第3章 通信フレームワーク | > 3.2 Apcoordinator連携機能 |
AjaxフレームワークアプリケーションとApcoordinatorアプリケーションとの間で、データBeanを共有することができます。データBeanを共有することにより、Apcoordinatorアプリケーションで利用するデータBeanの情報を、Ajaxフレームワークアプリケーションで更新することができます。
ここでは、データBeanを共有するための方法について説明します。
データBeanの作成方法は、通常の作成方法と同じです。詳細は、“データBeanの作成”を参照してください。
ビジネスクラスの作成方法は、通常の作成方法と同じです。詳細は、“ビジネスクラスの作成”を参照してください。
データBeanを共有するためには、DispatchContextクラスのsetResponseBeanメソッドを利用します。setResponseBeanメソッドの領域名に指定した名前を、ビジネスメソッド実行時のbeanIdリクエストパラメタに指定するデータBean IDとして使用することにより、Apcoordinatorが保持するデータBeanにデータが格納されます。
以下に、ApcoordinatorアプリケーションとデータBeanを共有する場合の、ビジネスクラスの記述例を示します。
以下の例では、Apcoordinatorの表示画面の領域名(body)に設定されたデータBean(BodyBean)を共有します。
package mypkg; import com.fujitsu.uji.DispatchContext; import com.fujitsu.uji.GenericHandler; public class MyHandler extends GenericHandler { public boolean init() { return true; } /** * Apcoordinatorの初期画面表示の処理 */ public void startup(DispatchContext context) { BodyBean dataBean = new BodyBean(); // 初期データの設定 (省略) // 領域名(body)にデータBean(BodyBean)を設定 context.setResponseBean("body", dataBean); } /** * Apcoordinator連携の処理 */ public Object doSomething(DispatchContext context, BodyBean dataBean) { // 業務ロジックを記述 (省略) // 戻り値はreturnで記述 NextBean retBean = new NextBean(); return retBean; } } |
作成したビジネスクラスのメソッドを呼び出すために、コマンドマップを定義します。
コマンドマップの記述形式については、“コマンドマップの定義”を参照してください。
以下に、ApcoordinatorアプリケーションとデータBeanを共有する場合のコマンドマップの定義例を示します。
# commands.map ## Apcoordinator ;=mypkg.MyHandler.startup ## Ajax mypkg.BodyBean;execute=mypkg.MyHandler.doSomething |
ApcoordinatorアプリケーションとデータBeanを共有する場合には、UjiRequest.send関数のbeanIdリクエストパラメタにデータBeanを関連付けたデータBean IDを指定します。
ここで指定するデータBean IDは、DispatchContextクラスのsetResponseBeanメソッドに指定された領域名となります。
以下に、ApcoordinatorアプリケーションとデータBeanを共有する場合の、UjiRequest.send関数の記述例を示します。
以下の例では、Apcoordinatorの表示画面の領域名(body)に関連付けられたデータBeanにデータが格納されます。データBeanの関連付けについては、“ビジネスクラスの作成”を参照してください。
function clickExecuteButton() { // requestParams var reqParam = { beanId:'body', // 領域名を指定 verb:'execute' // コマンド名を指定 }; // option var option = { url:'acf/apc', callback:function(res){ } }; UjiRequest.send(data,reqParam,option); } |
ApcoordinatorアプリケーションとデータBeanを共有する場合には、Ajaxフレームワーク環境定義ファイルのdataBean要素の指定を省略できます。
目次 索引 |