本人近来开发项目,碰到一奇怪问题。我做一查询模块,首先进入查询页面时候我会调用一个action在session中放入一个arraylist集合,然后跳转到查询页面时候再把list集合里的内容遍历在select中,然后进行查询进入结果页面,此页面有一个返回按钮能返回到刚才的查询页面(不是返回到action),问题偶尔就出现了,我明明放在list集合里的是20条数据,但当我返回的时候下拉框有时候只显示5条,这个让我非常郁闷,希望各位大大帮帮忙,分析下原因,小弟万分感谢。

解决方案 »

  1.   

    你可以单步调试下,看看返回的时候session值的变化情况,还有就是浏览器的设置是不是有问题,
    一般这些值不要放在session里面,很占用资源的,可以在页面加载之后用Ajax去取Select里的option
      

  2.   

    确定,第一次我进查询页面的时候就有20条。其实这种情况不经常发生,只是偶尔出现,当我从结果页面返回查询页面时候,下拉框就变成了5条(最开始的5条)。那个list集合已经放在session中了,想不通为什么有时候会取不全
      

  3.   

    只是放了一个list集合在session中,这应该不算多吧,搞不清楚取出来遍历的时候会出现这种问题
      

  4.   

    你这样干嘛不用request存放呢?
    用session存放,最好每次存放之前先清除session里面的list,然后再存放
      

  5.   

    为什么不用request存放?首先我这个list是个公用集合,不只是这个页面在用,其次我是用的velocity模版,对session支持较好,而且存放list的那个action我只会调一次,怎么可能去清除session中的list
      

  6.   

    可能Session ID变掉了 你调试下看
      

  7.   

    我承认session容易丢值,但是要丢的话也应该全部丢掉啊,怎么可能只丢一部分。。
      

  8.   

    用Debug as   打断点再运行看看,