从.NET转到jsp的朋友肯定会碰到页面状态保存的问题,我现在用的是struts2。
.net里有viewstate保存页面状态、类似于加密了的hidden.
我现在碰到的问题是有个list<object>要在action和jsp页面传递,一种是用hidden来get、set后台对像,还有一种是用session会话来保存。
想问用哪种方法好?

解决方案 »

  1.   

    用hidden比较好,你的action把它设置到action级变量就可以了呀,要写get和set方法
      

  2.   

    用hidden,数据没有被加密,查看源码可以看到!用session比较占服务器资源,session不稳定会过期.
      

  3.   

    不能乱用session,建议使用hidden,如果想使数据安全些,可以处理下,比如拼接下或者截成多个不就可以了
      

  4.   

    使用hidden好,session占系统资源
      

  5.   

    谢谢,大家也用hidden来保存状态吗,有更好的方法吗?
    下午结帖
      

  6.   

    一般我用session保存一个索引,相关的数据记录在内存或者数据库,这样就可以最大化的发挥session的优势同时不需要做太多的编码工作
      

  7.   

    要看你保存什么样的数据.如果Session有同样的Key值, 你会得不到你预想的结果.hidden是一个请求级别的. Session是一个会话级别的. 如果你想在整个会话当中要用这个值.那么用Session.如果你只想在这一个请求中使用这个值, 那么用hidden吧!
      

  8.   

    全局的时候用session,而且hidden是一个请求级别的. Session是一个会话级别的.
    Session在key重复的时候会出问题,并不安全。同时Session数量过多的话,会非常影响速度,占用很多的资源。原则上不提倡使用Session。
    我的建议是hidden。或者存在数据库中,用Session索引。
      

  9.   

    用hidden是不是要在同一个页面下?
      

  10.   

    嗯 。我现在是临时的一个list,等 操作完保存的时候再将list存入数据库的
      

  11.   

    session好点吧,我觉的能用session就用session了,hidden还是不太安全。
      

  12.   

    现在碰到的问题是有个list <object>要在action和jsp页面传递
    不能用request?
      

  13.   

    简单的传参,当然是 hidden 了, session 也太大才小用了 ..