站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题请问Jsp+JavaBean开发简单的Web程序时,Bean中的方法通常用什么来返回结果集?

请问Jsp+JavaBean开发简单的Web程序时,Bean中的方法通常用什么来返回结果集?

摘要: 请问Jsp+JavaBean开发简单的Web程序时,Bean中的方法通常用什么来返回结果集?


在Jsp中需要得向浏览器输出一结果集,请问在Bean中通常使用什么来返回结果集?ResultSet?Map?
比如:
public ResultSet method(){

}

public Map method(){

}



可以用 vector
把ResultSet的值放到 vector中
然后在jsp页面中把vector中的值打印出来


嗯,谢谢,那如果需要输出多个字段时用什么好呢?


输出多个字段的时候,我觉的Vector比较好


那如何将多个字段的数据放到一个Vector对象中呢?





返回的结果集通常不用更改的,用ArrayList应该可以兼顾效率和功能


还不是太明白,能否举个例子?


一个Vector或一个ArrayList不是只能保存一个字段的数据吗?


Vector 和Arraylist都是动态数组 可以存放一个或多个数据 两个容器都是可以动态添加我本人喜好用ArrayList


我个人比较喜欢用HashMap 来返回记录集..因为用Vector已经被淘汰来吧,而且运行起来也比较慢,如果用ArrayList虽然比较简单,但是好像里面的记录可以重复,你取出来的时候还需要判断比较麻烦,如果用HashMap就不一样了,进去是什么,出来只要用KEY取得对应的VALUE就行了,方便快捷!


这段程序希望对你有用
public Vector getData(String sql)
{
Vector vect = new Vector();
try
{
pstm = conn.prepareStatement(sql);
rs = pstm.executeQuery();

DealString ds = new DealString();
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
while(rs.next())
{
Hashtable hash = new Hashtable();
for(int i=1;i<=cols;i++)
{
String field = ds.toString(rsmd.getColumnName(i));
String value = ds.toString(rs.getString(i));
hash.put(field,value);
}
vect.add(hash);
}
}catch(SQLException sqle){System.out.println("执行DataBase::getData(String)执行SQL语句 "+sql+" 时出错;错误为:"+sqle);}
finally{
if(rs!=null){
try{
rs.close();
}catch(SQLException e){System.out.println("执行DataBase::getData(String)试图释放rs时出错;/r/n错误为:"+e);}
}
if(pstm!=null){
try{
pstm.close();
}catch(SQLException e){System.out.println("执行DataBase::getData(String)试图释放pstm时出错;/r/n错误为:"+e);}
}
}
return vect;
}


感谢以上各位的回复,我其实就是想弄明白,如果一个返回的结果集中有5个字段(比如有:新闻ID,新闻标题,新闻内容,作者,发布日期),想一次性返回给Jsp进行循环输出到浏览器,该怎么处理?我个人觉得用HashMap、Hashtable、Vector这些好像还是不太方便呀


用 Hashtable 把数据库中得到的多个值保存进来
在把多个Hashtable 保存到 Vector中
把Vector返回到前台页面
再相反的顺序循环读出来
是麻烦了点



直接返ResultSet吧
不过在jsp页面,要import java.sql.* 要得到Connection
最后还用while(rs.next()){
rs.getString();==
----
}
循环显示出来
我是这样做的,估计落后了,不知怎么对才好,我想这样效效也是不高的
还是HashMap,ArrayList,Vector,得到结果后直接在jsp页面揗环编历好一点吧


我一般用这三种形式,List或Map或List


DealString 是在那个API里哈?


另外Vector是线程安全的,效率不高


请大家都谈谈通常都用了哪些方法处理这种情况,谢谢!


顶一顶


可以把一条记录组织成一个对象类,含有所有所需字段,再将所有记录作为对象存入ArrayList中。

Vector是早期出现的产物,现在用ArrayList代替它。


把一条记录组织成一个对象类放入arraylist 是正解


ding


↑返回目录
前一篇: 救救我吧!
后一篇: Java企业应用系统框架的比较与选择