studentDAO里的stulist()方法:
    public List stulist()
    {   
     List list=null;
     try
     {
     Session session=HibernateSessionFactory.getSession();
     Transaction tx=session.beginTransaction();
     Query querylist=session.createQuery("from Student");
     list=querylist.list();
     tx.commit();    
     }
     catch(HibernateException e)
     {
        e.printStackTrace();
        tx.rollback();
     }
     finally
     {
     session.close();
     }
     return list;
    }showAction的execute方法内容:
StudentDAO studao=new StudentDAO();
List list=(List)studao.stulist();
request.getSession().setAttribute("list", list);
return mapping.findForward("/index.jsp");
index.jsp迭代内容:
      <logic:iterate id="slist" name="lists">
       <tr>
         <td width="100" align="center"><bean:write name="slist" property="id"/></td>
         <td width="100" align="center"><bean:write name="slist" property="stuNo"/></td>
         <td width="100" align="center"><bean:write name="slist" property="stuName"/></td>
         <td width="100" align="center">change</td>
         <td width="100" align="center">delete</td>
       </tr>
      </logic:iterate>就是不显示数据。有异常Exception forwarding for name show: javax.servlet.ServletException: java.util.ArrayList在控制台里有SQL语句执行:
select student0_.ID as ID, student0_.STU_NO as STU2_0_, student0_.STU_NAME as STU3_0_ from SYSTEM.STUDENT student0_高手帮忙  小弟急!!!解决马上给分。

解决方案 »

  1.   

    showAction里少写一个s  就是request.getSession().setAttribute("lists", list);
    这和迭代的name="lists"是一样的。但就是出异常  高手帮忙。用的是MyEclipse5.1HibernateSessionFactory这程序生成的,里面有config和相关的buildFactory功能。
      

  2.   

    将<bean:write name="slist" property="id"/>改为<c:out value="slist.id"/>,其他类似。
    bean:write 是用来显示form里的属性的
      

  3.   

    不好使  通不过。其实我感觉不是JSP里的iterate的问题。是action和stulist方法里出的毛病,但我找不出问题所在。我用的是MyEclipse5.1。关于sessionFactory工厂,是在HibernateSessionFactory里做的。我看了,感觉没问题呀。可是运行就是不过而且如果把在Action里的List list=(List)studao.stulist();改成ArrayList类型,那控制台就会连续做100多次select查询。IE错误并抛出异常Exception forwarding for name show: javax.servlet.ServletException: Servlet execution threw an exception但如果不改成ArrayList,IE错误抛出的异常是Exception forwarding for name show: javax.servlet.ServletException: java.util.ArrayList
      

  4.   

    不好使  通不过。其实我感觉不是JSP里的iterate的问题。是action和stulist方法里出的毛病,但我找不出问题所在。我用的是MyEclipse5.1。关于sessionFactory工厂,是在HibernateSessionFactory里做的。我看了,感觉没问题呀。可是运行就是不过而且如果把在Action里的List list=(List)studao.stulist();改成ArrayList类型,那控制台就会连续做100多次select查询。IE错误并抛出异常Exception forwarding for name show: javax.servlet.ServletException: Servlet execution threw an exception但如果不改成ArrayList,IE错误抛出的异常是Exception forwarding for name show: javax.servlet.ServletException: java.util.ArrayList
      

  5.   

    给你一个DAO:
    public List result() {
    DetachedCriteria detachedCriteria = DetachedCriteria
    .forClass(Student.class);
    session = HibernateSessionFactory.getCurrentSession();
    List result = (List) detachedCriteria.getExecutableCriteria(session).list();
    return result;
    }Action:
                    Dao dao = new Dao();
    List result = dao.result();
                    request.setAttribute("result ", result);
    jsp:
                   <% java.util.List result = (java.util.List)request.getAttribute("result               "); %>
    <%
                    for(Object n:result){
                        Student student = (Student)n;
                  %>
                     <%=student.getNumber() %></div></td>
                    <%=student.getName() %>
                    ............
      

  6.   

    试一下以下方法
    DynaBean;
    LazyDynaBean;
      

  7.   

    自己重写了一个HibernateUtil  功能是类似MyEclipse里的HibernateSessionFactory 觉得MyEclipse自己生成的这个HibernateSessionFactory有问题。用自己重写的就Ok了。
      

  8.   

    网上的Hibernate工厂有很多  自己可以找一下