Interstage Studioワークベンチを利用して、ビジネスクラスを作成します。
Interstage Studioワークベンチの操作方法については、“5.7.8 ビジネスクラスの作成”を参照してください。
ビジネスクラスの作成
ビジネスクラス作成時には、以下の情報を入力します。
パッケージ名: 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 ユーザーズガイド”を参照してください。