把记录集和其他需要的信息放在一个javabean中
在jsp页面中用tag显示出来
------------------
ArrayList rows=null;
while(rs.next()){
HashMap row = new HashMap();
row.put("...",rs.getXXX(...))
.
.
ArrayList.add(row);
}
ListInfo listInfo = new ListInfo(rows);
request.setAttribute("listInfo",listInfo);
在jsp页面中用tag显示出来
------------------
ArrayList rows=null;
while(rs.next()){
HashMap row = new HashMap();
row.put("...",rs.getXXX(...))
.
.
ArrayList.add(row);
}
ListInfo listInfo = new ListInfo(rows);
request.setAttribute("listInfo",listInfo);
解决方案 »
- 求教高人,apache与tomcat整合为何访问出源码?
- 又要来麻烦大家了,谷哥不知道,百度懒得去问!
- 火急火燎!!访问ip地址的方法,为啥不能自动完成?
- 懂dsoframer.ocx的大虾进,在线等待,十万火急~!
- 系统访问问题
- serlet传递问题??
- 用抽象类实现接口后,怎么通过接口调用抽象类里面实现的方法?
- struts高手帮帮我,如何使struts可以向调用页面返回值!?!?!?!?!?!?!?
- 关于strus+spring+hibernate中使用多个配置文件的问题!
- Httpclient4.X 模拟登录腾讯微博成功后会话失效
- 如何能ResultSet按照某个字段进行排序
- 一个控制层的处理问题?
Dispatcher转向,如:
request.setAttribute("myRS",rs);
request.getRequestDispatcher("next.jsp").forward(request, response);
然后在next.jsp接收:
ResultSet rs=(ResultSet)request.getAttribute("myRS");
context不要用,servletcontext是每个虚拟机每个WEB应用程序一个唯一的对象,会冲突
session尽量少用,影响性能
用不用BEAN封装取决于你(封装更符合MVC的思想)
good luck
不过我是否把Rs映射成一个DataModel,看看J2SE的AbstractTableModel的模式,然后传~~~请赐教
等待这个问题的解决方案?
2) 如果将 ResultSet 在 request 中传递, 那么会发生的问题是你不能及时关闭产生这个 ResultSet 的 Connection, 这会带来很多隐患, 建议你传递时把Rs映射成一个DataModel
3) 把Rs映射成一个DataModel有一个现成的方案就是使用 RowSet, 以下代码可供你参考, 注意它要使用Sun的sun.jdbc.rowset包, 可以在 http://developer.java.sun.com/developer/earlyAccess/crs/ 下载, 你也可以看这篇文章 http://developer.java.sun.com/developer/technicalArticles/javaserverpages/cachedrowset/ , 中文的文章也是有的 http://www.javacool.com/rli/show.jsp?id=90
/**
* 执行一个查询语句,返回一个RowSet.
* 建议在实际使用时, 将返回值当作一个 ResultSet 来使用
*/
public RowSet executeQuery(String sql) throws SQLException {
Connection m_conn = null;
try{
m_conn = this._getConnection() ; //获得Connection, 具体你自己写了
Statement stmt = m_conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
//将数据转移到CachedRowSet
CachedRowSet crs = new CachedRowSet();
crs.populate(rs);
crs.beforeFirst(); //移到第一条记录之前
//关闭ResultSet和Statement
rs.close();
stmt.close();
//返回
return crs;
}
catch (SQLException ex){
throw ex ; //重新抛出这个异常
}
finally {
if (m_conn != null) try {m_conn.close();} catch(Exception ignore){};
}
}