Ajaxフレームワーク ユーザーズガイド
目次 索引 前ページ次ページ

第5章 アプリケーションの開発> 5.9 アプリケーションの開発例

5.9.6 ビジネスクラスの作成(開発例)

Interstage Studioを利用して、ビジネスクラスを作成します。
Interstage Studioの操作方法については、“ビジネスクラスの作成”を参照してください。

■ビジネスクラスの作成

ビジネスクラス作成時には、以下の情報を入力します。

作成されたビジネスクラスに、以下の記述を追加します。

import宣言部分の記述内容

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
import java.util.Vector;

startupメソッド部分の記述内容

/* 初期化処理 */
public void startup(DispatchContext context) {
     ConditionBean conditionBean = new ConditionBean();
     context.setResponseBean("body", conditionBean);
}

searchメソッド部分の記述内容

/* 検索処理 */
public Object search(DispatchContext context, ajaxSample.ConditionBean dataBean) {
     ListBean listBean = new ListBean();
     AjaxSampleApplication application = (AjaxSampleApplication)context.getApplicationProfile();
     ArrayList listData = application.getListData();

     Vector v = new Vector();
     for (int i = 0 ; i <listData.size() ; i++) {
          RecordBean orderBean = (RecordBean)listData.get(i);
          if (matches(dataBean, orderBean)) {
               v.add(orderBean);
          }
     }
     listBean.setList(v);
     return listBean;
}

matchesメソッド(注)の記述内容

/* 検索処理サブルーチン */
private boolean matches(ajaxSample.ConditionBean dataBean, RecordBean orderBean) {
     String customer = dataBean.getCustomer();
     if (customer != null && customer.length()!=0 && !customer.equals((String)orderBean.getCustomer())) {
          return false;
     }
     String charge = dataBean.getCharge();
     if (charge != null && charge.length()!=0 && !charge.equals((String)orderBean.getCharge())) {
          return false;
     }

     Date orderDate = null;
     SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd",Locale.JAPAN);
     formatter.setTimeZone(TimeZone.getDefault());
     try {
          orderDate = formatter.parse(orderBean.getOrderDate());
     } catch(ParseException e) {
          e.printStackTrace();
     }

     Date fromDate = dataBean.getFromDate();
     if (fromDate != null) {
          if (orderDate.before(fromDate)) {
               return false;
          }
     }

     Date toDate = dataBean.getToDate();
     if (toDate!= null) {
          if (orderDate.after(toDate)) {
               return false;
          }
     }
     return true;
}
注) このメソッドは自動生成されません。

■コマンドマップの定義

Interstage Studioを利用してビジネスクラスを作成すると、自動的にコマンドマップ(commands.map)が作成されます。

コマンドマップの記述内容

# 初期化処理
;=ajaxSample.AjaxSampleHandler.startup
# 検索処理実行
ajaxSample.ConditionBean;search=ajaxSample.AjaxSampleHandler.search

コマンドマップの詳細は、“Apcoordinator ユーザーズガイド”を参照してください。

■ページマップの定義

ページマップ(pages.map)に必要な定義を追加します。

ページマップの記述内容

# pages.map
ajaxSample.ConditionBean;=search.jsp

ページマップの詳細は、“Apcoordinator ユーザーズガイド”を参照してください。


目次 索引 前ページ次ページ

Copyright 2009 FUJITSU LIMITED