Interstage Studioワークベンチを利用して、ビジネスクラスを作成します。
詳細については、「Apcoordinator入門ガイド」、および「Apcoordinatorユーザーズガイド」を参照してください。
ビジネスクラスの作成
ビジネスクラス作成時には、以下の情報を入力します。
パッケージ名: ajaxSample
クラス名: AjaxSampleHandler
メソッドには、以下の内容を追加します。
入力データ | 入力情報 | コマンド | メソッド | 復帰値型 |
---|---|---|---|---|
入力データなし | 指定しない | 指定しない | startup | void |
データBean | クラス名: ConditionBean | search | search | object |
作成されたビジネスクラスに、以下の記述を追加します。
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 ユーザーズガイド」を参照してください。