----从数据库取得的结果集转换为arraylist后返回,在jsp中显示为什么出错??

sjtsh 2004-09-18 08:44:37
我从数据库里取得结果集然后转换为arraylist,并返回,在jsp中输出却出错:
javabean中的部分代码:
ArrayList list = new ArrayList();
while(rs.next())
{
String Title = rs.getString("Title");
String Actors = rs.getString("Actors");
String director = rs.getString("director");

String[] rsobj = {Title,Actors,director};
list.add(rsobj);
}
return list;
jsp中的部分代码:
ArrayList list = DBQueryBean.Query();
Iterator iter = list.iterator();
while(iter.hasNext())
{
String[] aa = (String[])iter.next();
out.println("<td>"+aa+"</td>");
}
输出结果如下:(共检索10个结果)
[Ljava.lang.String;@e265d0 [Ljava.lang.String;@18a6e6e [Ljava.lang.String;@1581e80 [Ljava.lang.String;@3a9d95 [Ljava.lang.String;@3fbbfc [Ljava.lang.String;@4ed904 [Ljava.lang.String;@8997d1 [Ljava.lang.String;@14e45b3 [Ljava.lang.String;@1c1f5b2 [Ljava.lang.String;@e99ce5
是什么原因呢???该怎么解决?
...全文
393 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jackyzgm 2005-01-19
Rs转成List返回 ,这个有什么用处啊?? 直接用 rs 不行么??
回复
debug148 2004-11-28
up
回复
whirlsun 2004-09-19

out.println("<td>"+aa+"</td>");
不对

现在的aa是个数组
回复
nanyouren 2004-09-18
建议换成以下代码:
/*
@把Rs转成List返回~
@param ResultSet rs.
@returned arrayList list;
*/
public static List ResultSetToList(ResultSet rs) throws java.sql.SQLException{
if (rs == null)
return java.util.Collections.EMPTY_LIST;
ResultSetMetaData mt = rs.getMetaData();
int columnCount = mt.getColumnCount();
String value = null;
List list = new ArrayList();
Map map;
try{
while (rs.next()){
map = new HashMap(columnCount);
for (int i = 1; i <= columnCount; i++){
value = (String)rs.getString(i);
if (value == null) value = "";
map.put(mt.getColumnName(i).toLowerCase(),value);
}
list.add(map);
}
} catch(SQLException ex){
System.out.println("Cann't convert!");
}
return list;
}
回复
xunyiren 2004-09-18
ArrayList list = DBQueryBean.Query();
Iterator iter = list.iterator();
while(iter.hasNext())
{
String[] aa = (String[])iter.next();
out.print("<td>");
for (int i=0;i<aa.length;i++) {
if (i>0) out.print(",");
out.print(aa[i]);
}
out.print("</td>");
}
回复
redlaputa 2004-09-18
out.println("<td>"+aa+"</td>");
改为
out.println("<td>"+aa[0]+aa[1]+aa[2]+"</td>");
回复
guestman 2004-09-18
把String[] aa = (String[])iter.next();改成
String aa = (String)iter.next();
回复
nanyouren 2004-09-18
gz
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-18 08:44
社区公告
暂无公告