估计可能是这样
public  ArrayList<XXXbean> YYY(){
  ArrayList<XXXbean> ret = new ArrayList<XXXbean>();//第一句
   .......
   .......
  while(result.next()){
    XXXbean OB = new XXXbean();//第二句
    .......
    .......
    ret.add(OB);
  }
   .......
   .......
}
正常装入数据应当像上面那样 假如你把第一句ArrayList<XXXbean> ret = new ArrayList<XXXbean>();写到了while循环里 或者把第二句XXXbean OB = new XXXbean();写到了while写到了循环外 就会出现只返回一条记录

解决方案 »

  1.   

    估计楼主是犯了我上面说到的第二种可能的错误 第二句XXXbean OB = new XXXbean();写到了while写到了循环外 因为如果写在循环外 list当中只存了一个对象 而这些对象在页面取值的时候调用get方法得到的只是最后一次存入get方法里的值 5个相同的对象都调用get方法得到的当然是相同的数据~
      

  2.   

    WIN_ANGEL正解楼主JAVA基础得补补
      

  3.   

    之前的描述可能不太准确 我再详细说一下 
    上面说到的第一种可能的错误  因为如果把ArrayList<XXXbean> ret = new ArrayList<XXXbean>();这句写到循环里 每次都生成新的list所以退出循环时只剩最后生成的那个list而且里面只装有最后一次的对象 在页面显示时就只显示最后一条记录一次
    但根据楼主所描述的问题看 应该是 第二种可能的错误 因为如果把XXXbean OB = new XXXbean();这句写到了while写到了循环外 那对于循环来说始终操作和装入的都是同一个对象 尽管可能你在循环里多次调用set方法进行存值 但是因为都是相同的对象所以每次循环调用set方法存入的值都会将上一次set方法存入的值覆盖掉 最终只剩最后一次存入set方法的值 而在循环里向list里add了5次 但这5次存入的都是相同的对象OB(new这个关键字不用我说了吧 在循环里new的话每次存的都是不同的对象 在循环外new的话每次存的都是相同的对象)  而5个相同的对象最后调用get方法进行显示的时候 当然得到和显示的值都是一样的 所以就会出现楼主所看到的显示5条相同的记录 而且是最后一条记录显示了5次
      

  4.   

    为什么老喜欢凭空猜想请把源码或者实现的那段给看看
    j2ee技术交流群
    9438177
    欢迎朋友们的加入
    为的是探讨技术 呵呵