【问题标题】:Problem in storing and retrieving arraylist in session在会话中存储和检索数组列表的问题
【发布时间】:2019-07-18 11:15:46
【问题描述】:

我需要在当前会话的网页中的表格中显示先前执行的命令。但是,我只得到表中最后执行的命令之一。我不知道我错过了什么......

ArrayList commands = (ArrayList)session.getAttribute("commands");
String cmd = (String)request.getAttribute("text1");
commands.add(cmd);
session.setAttribute("commands",commands);

【问题讨论】:

    标签: java jsp session session-variables


    【解决方案1】:

    可能只是解释错误,但理想情况下第 4 行应该是

    session.setAttribute("commands",commands);

    【讨论】:

    • 请添加您获取会话的方式,以及生成表格的方式。这段代码对我来说看起来不错。可能是会话在某个时候被重置.. 可能.. 只是想大声思考
    • 我得到一个空的数组列表,最初是这样的,ArrayList commands = (ArrayList)session.getAttribute("cmd")==null?new ArrayList():(ArrayList)session.getAttribute("cmd ");我在下一条评论中使用 for 循环将数组列表显示为表格
    • int len = commands.size(); if(len > 0) { for(int i=0;i
    • ArrayList commands = (ArrayList)session.getAttribute("cmd")==null?new ArrayList():(ArrayList)session.getAttribute("cmd");这一行有 cmd/commands 不匹配,我希望你已经调整过了。我认为问题是每次请求都会重新创建您的会话,这就是为什么您总是从这一行获得一个新的 ArrayList。
    • 是的。正确的。每次都会重新创建会话...如何获取旧会话?
    猜你喜欢
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 2019-10-06
    • 2013-08-28
    • 1970-01-01
    • 2011-10-11
    相关资源
    最近更新 更多