date_observedフィールドを持つJavabeanがあります。現在、ユーザーが開始日と終了日の間のエントリを検索できるフォームを作成しようとしています。
このBeanを拡張して開始日フィールドと終了日フィールドを持つ別のJavaBeanを作成して、要求パラメーターからこれらのフィールドにデータを入力できるようにする必要がありますか?
SQL文字列を生成するためにDaoにBeanをクリーンに渡し、日付形式が正しくない場合にフォームの検証を行う方法もあります。
通常、私はします
public void processDate_observed(HttpServletRequest request, Comment comment) {
String _date = FormUtil.getFieldValue(request, FIELD_DATE_OBSERVED);
if (!"".equals(_date) && _date != null) {
try {
Date date = DateUtil.parse(_date);
com.setDate_observed(date);
} catch (ParseException e) {
setError(FIELD_DATE_OBSERVED, e.getMessage());
}
}
}
start_date
しかし、私のコメントJavabeanにはとのフィールドがありませんend_date
そしてのためにdao.search(comment)
public List<Evaluatee> search(Comment comment) {
SQL = ".... where date_observed > ? AND date_observed <= ?
ps.setDate(1, comment.EXTENDED FIELD???)
ps.setDate(2, comment.EXTENDED FIELD???)
...
}
ここでのベストプラクティスは何ですか?まったく新しいJavaBeanを作成するか、元のBeanを拡張するか、2つの日付フィールドをDaoに渡しますか?しかし、Beanに日付がない場合、フォーム検証をフォームに戻すにはどうすればよいですか?