Ajaxフレームワーク ユーザーズガイド |
目次 索引 |
第5章 アプリケーションの開発 | > 5.9 アプリケーションの開発例 |
Interstage Studioを利用して、ビジネスクラスを作成します。
Interstage Studioの操作方法については、“ビジネスクラスの作成”を参照してください。
ビジネスクラス作成時には、以下の情報を入力します。
入力データ |
入力情報 |
コマンド |
メソッド |
復帰値型 |
---|---|---|---|---|
入力データなし |
指定しない |
指定しない |
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 ユーザーズガイド”を参照してください。
目次 索引 |