<%
                if (ittrain!=null){
        
        Dayteamtrain dayteamtrain = new Dayteamtrain();
        
        while (ittrain.hasNext()) {
        
        dayteamtrain = (Dayteamtrain)ittrain.next();
        
        
        %>  
        <TR bgcolor="#FFFFFF">
          <TD width="8%" align=center bgcolor="F7FAFF"><%=dayteamtrain.getTeacher() %></TD>
          <TD bgcolor="F7FAFF"><%=dayteamtrain.getTrainaddr()%></TD>
          <TD height="25" bgcolor="F7FAFF"><%=dayteamtrain.getTraincontent()%></TD>
          <TD height="25" align=center bgcolor="F7FAFF"><%=dayteamtrain.getTraintime()%></TD>
          <TD align=center bgcolor="F7FAFF"><%=dayteamtrain.getActor()%></TD>
          <TD height="25" align=center bgcolor="F7FAFF">&nbsp;</TD>
        </TR>
        <%
        } 
        }
        %>
为何我页面上显示了两行都是第一条数据?

解决方案 »

  1.   

    我是用hibernate对数据库操作的,第一次用。我在bean里返回一个list
    public Object queryByID(String id) throws Exception 
    {

      String sql;

          sql="from com.ky.hnrmc.dayteamtrain.Dayteamtrain where DAYTEAMMAINID='"+id+"'";      
     
      Session session = DefaultSessionFactory.getRMCSession();
      List list = new ArrayList() ;
      try {
    Query query=(Query) session.createQuery(sql);

        list=query.list();

    }catch(Exception e){

    e.printStackTrace();

    }

    return list;
    }
    然后在jsp页面中
             trainlist = (List)dayteamtrainiml.queryByID(dayteammainid);
             ittrain = trainlist.iterator();
    得到了ittrain,有问题吗?表里是两条记录,我查过了,而且每两条的话也不会循环两次。
      

  2.   

    问题找到了,
    Query query=(Query) session.createQuery(sql);

     list=query.list();
    这里的list里面两条记录是相同的
    是不是list=query.list();不能这样直接付值