----从数据库取得的结果集转换为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
是什么原因呢???该怎么解决?
...全文
430 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧