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

JSP页面跳转批量传递ArrayList时发生的错误
public   void   doGet(HttpServletRequest   request,   HttpServletResponse   response)
  throws   ServletException,   IOException  
  {
    doPost(request,response);
  }

public   void   doPost(HttpServletRequest   request,   HttpServletResponse   response)
  throws   ServletException,   IOException
  {
………………省略………………
    String   sqltemp= "select   distinct   柜体类型   from   item ";
      Vector   v=this.getType(session,   sqltemp,   "item ");     //调用函数获得参数列表
      ArrayList   al=new   ArrayList();
      for(int   i=0;i <v.size();i++)
      {
        String[]   str={sqlValue[0],v.get(i).toString()};     //第一个参数为查询关键字
        al=getSql(session,rb,sel_type,sel_gt,sel_mb,sel_tm,str);       //调用函数获得需要的ArrayList
        request.setAttribute( "rs_ "+i,al);
      }
    request.getRequestDispatcher( "dingdan_xx.jsp?tab=4 ").forward(request,response);
………………省略………………
  }
---------------------
以上为部分源代码,目的为循环返回多个ArrayList,用于页面中表单选项卡的内容。
以下为出现的错误代码:

2007-4-27   14:04:06   org.apache.catalina.core.ApplicationDispatcher   invoke
严重:   Servlet.service()   for   servlet   jsp   threw   exception
java.lang.ClassCastException:   java.util.ArrayList
at   org.apache.jsp.dingdan_005fxx_jsp._jspService(org.apache.jsp.dingdan_005fxx_jsp:454)
………………省略………………
at   ser.serselect.doPost(serselect.java:108)
………………省略………………
at   ser.serBhJianCe.doPost(serBhJianCe.java:70)
………………省略………………
            ……之后重复……

以上
麻烦告诉我到底是什么错误,本人英语极差,实在看不明白…………
另外,页面本身并不显示任何错误,同时也不显示任何关于被传递的表单的内容。


------解决方案--------------------
LZ没有把JSP代码贴出来
这个是类型转换错误,是在JSP里面将对象强转为ArrayList的时候发生的.
------解决方案--------------------
ClassCastException 是jsp的错误
at org.apache.jsp.dingdan_005fxx_jsp._jspService(org.apache.jsp.dingdan_005fxx_jsp:454)
------解决方案--------------------
ArrayList
request.setAttribute( "rs_ "+i,al);