日期:2014-05-18  浏览次数:20842 次

servlet能够做到返回一个ResultSet对象到jsp页面吗?
我通过以下方法试过,好象不行

request.setAttribute( "rs ",rs);
RequestDispatcher   requestDispatcher   =   this.getServletContext().getRequestDispatcher( "/get_rs.jsp ");
requestDispatcher.forward(request,   response);

在jsp页面这样接收

<%@   page   contentType= "text/html;   charset=gb2312 "   language= "java "   import= "java.sql.* "   errorPage= " "   %>
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN "   "http://www.w3.org/TR/html4/loose.dtd ">
<html>
<head>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
<title> 运输数量查询 </title>
</head>

<body>
<p> 运输数量查询: </p>
<table   border=1>
<tr> <td> card </td> <td> times </td> </tr>
<%
//ResultSet   rs1=search_rs.get_rs( "全部 ", "全部 ");
ResultSet   rs1=(ResultSet)request.getAttribute( "rs ");
while(rs1.next())
{
%>
        <tr> <td> <%=rs1.getString(1)%> </td> <td> <%=rs1.getString(2)%> </td> </tr>
<%
}
rs1.close();
%>
</table>
</body>
</html>


------解决方案--------------------
建议不要传递ResultSet
假如你建立的Connection已经关闭,那么去读这个ResultSet就会出错的!
你可以在servlet中先把ResultSet中的数据读到一个Collection中,然后将这个Collection传给JSP
------解决方案--------------------
把这个ResultSet放到一个对象里面再传到jsp中
------解决方案--------------------
5。0中的新特性
循环!