这一段时间研究了一下DynaBean的东西,发现还是蛮好用的,减少了很多不必要的vo。
以下基本是照搬ResultSetDynaClass里的说明,其中result是一个List:
//创建动态bean,加入到result变量中
ResultSetDynaClass rsdc = new ResultSetDynaClass(rs);
DynaProperty properties[] = rsdc.getDynaProperties();
BasicDynaClass bdc =
new BasicDynaClass("columnList", BasicDynaBean.class,
rsdc.getDynaProperties());
Iterator rows = rsdc.iterator();
int i=0;
while (rows.hasNext()&&i<pageSize) {
DynaBean oldRow = (DynaBean) rows.next();
DynaBean newRow = bdc.newInstance();
PropertyUtils.copyProperties(newRow, oldRow);
result.add(newRow);
i++;
}
以后要取得这个结果集合,使用:
for (int resultsize=0;resultsize<result.size();resultsize++) {
DynaBean db = (DynaBean)result.get(resultsize);
for (int columnloop=0;columnloop<column.size();columnloop++) {
String visible = (String)columnType.get(columnloop);
if(visible.equalsIgnoreCase("true")) {
if (resultsize%2==0)
out.print("<td nowrap align=center>");
else
out.print("<td nowrap class=even align=center>");
String name = (String)columnname.get(columnloop);
Object value = db.get(name);
if (value!=null) out.print(SQLTypeUtil.convertSQLType(value));
else out.print(" ");
out.print("</td>");
}
}
out.print("</tr>");
}