我有一个带有date_observed字段的Javabean。现在,我正在尝试创建一个表单,用户可以在该表单中搜索起始日期和结束日期之间的条目。
我是否应该创建另一个Javabean来扩展此bean,使其具有开始和结束日期字段,以便可以从请求参数填充这些字段?
我想干净利落地将一个bean传递给我的Dao,以便生成SQL字符串,并且如果它们输入的日期格式不正确,还可以通过一种方法进行表单验证。
通常我会这样做
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());
}
}
}但是我的注释Javabean没有用于start_date和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,还是将两个日期字段传递给Dao?但是,如果bean中没有日期,那么如何将表单验证传递回表单呢?
发布于 2012-11-16 01:06:59
在DAO类中有一个以开始日期和结束日期为参数的serch方法,这是一个很好的实践。
public List<Evaluatee> search(String startDate, String endDate) {
///CODE GOES HERE
}DAO不一定需要有一个Comment对象作为参数,规则是对于数据库的每个表,都需要是一个与表中具有相同字段的类。
https://stackoverflow.com/questions/13400360
复制相似问题