关键就是这段代码,我在JSP中显示了五条纪录一样的(数据库中存的5条不同纪录)!难道m_item都是指向最后一条记录吗? while( it.hasNext())
  {
    java.util.ArrayList m_item = new java.util.ArrayList() ;
    Tax tax = (Tax)it.next();
    m_item.add(tax.getId());
    m_item.add(String.valueOf(tax.getBalance()));
    m_item.add(tax.getAddress());
    m_item.add(tax.getSex());
    m_item.add(tax.getAge());
    m_return.add(m_item);
  }
}

解决方案 »

  1.   

    你的bean中从数据库中取数据的一段代码贴出来,我看一下。
      

  2.   

    我用的是EJB QL取的数据,findAll() 我跟踪过得到的数据与数据库相同
    就是返回给界面显示时出现上述问题
      

  3.   

    你试着将  Tax tax = (Tax)it.next();改成
    Tax tax = new Tax();
    tax = (Tax)it.next();
      

  4.   

    Tax 是一个EJB远程接口不能被实例化!
      

  5.   

    我碰到过类似的情况,但不是EJB,有一个比较土的方法,可能对你有帮助,就是在ADD之情先对每一个字段实例化一个变量,然后将字段的值付给变量再通过变量ADD,实例化的过程必须放在循环体内。
      

  6.   

    ArrayList 是否是可序列化的?把JSP显示的代码帖出来!
      

  7.   

    理论上应该是没问题的
    我以前也碰到过
    如果你打印的全部是最后一条记录的话
    肯定是Tax的问题
    建议你在while循环后就把m_return的内容打出来看看