问题描述:
我在ACTION中查询得到的数据用LIST来存之后,然后通过HttpSession存入,在JSP页面中取数据的时候就出现如下错误:
org.apache.jasper.JasperException: An exception occurred processing JSP page /admin_teacher.jsp at line 6865:  </tr>
66:  <%
67:  for (int i = 0; i < tlist.size(); i++) {
68:  Teacher teacherset =(Teacher)tlist.get(i);//重点就是这里,这样写不对,我应该如何写呐?请高手指教!
69: 
70:  %>
71:  <tr>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.ClassCastException: [Ljava.lang.Object;
org.apache.jsp.admin_005fteacher_jsp._jspService(admin_005fteacher_jsp.java:124)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
其实我就想知道,不这样写,才能够将数据取出来!
Action的代码是(便于参考):
public class AdminTeacherAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
HttpSession httpSession = request.getSession();
String hql = null;
List teacherlist = new ArrayList();
try {
hql = "select id,t_id,pwd,t_name from Teacher";
teacherlist = HibernateService.execQuery(hql); } catch (Exception e) {
e.printStackTrace();
}
httpSession.setAttribute("teacherlist",teacherlist);
return mapping.getInputForward();
}
}

解决方案 »

  1.   

    在JSP页面中我已经将数据用List tlist = (ArrayList)session.getAttribute("teacherlist");取出!然后就是贴子里面说的,类型转换出了问题!
      

  2.   

    类型转换异常呀
    存入list里的就不是teacher对象
    取出来强转就会有问题
    hql 写 “from Teacher”就可以了
      

  3.   

    我就是写的from Teacher
    而已HIBERNATE执行了的:Hibernate: select teacher0_.id as col_0_0_, teacher0_.t_id as col_1_0_, teacher0_.pwd as col_2_0_, teacher0_.t_name as col_3_0_ from teacher teacher0_
      

  4.   

    java.lang.ClassCastException: [Ljava.lang.Object; 
    类型转换错误
      

  5.   

    hibernate执行那个是对的  
    我看你action里没有那样写呀
    你确定一下 查出来后都封装到teacher对象中了 teacher对象都放到list中了
    一步一步看
    打上断点  看看是不是查出来就不对
      

  6.   

    teacherlist里面有数据!最重要的是在页面在JSP页面中我那样写是错误的,应该怎么写!才能将数据取出来!