java - 无法从其他 jsp 上的 session 获取哈希表值

标签 java jsp session hashtable

我正在 session 中设置哈希表的值

session.setAttribute("hash",chk); 
Hashtable<Integer,String> navchk = (Hashtable)session.getAttribute("hash");
Enumeration items = navchk.keys();
while(items.hasMoreElements())
{
    out.println(items.nextElement());
}
chk.clear();

在特定页面上打印值。这里chk是哈希表。

在另一页上,当我获取和打印值时,它不起作用。这是第二页的代码......

Hashtable<Integer,String> chk1 = (Hashtable<Integer,String>)session.getAttribute("hash");

Enumeration items = chk1.keys();
while(items.hasMoreElements())
{
    out.println(items.nextElement());
}
chk1.clear();

最佳答案

有一件事,你正在做,

chk.clear();

在您的第一页中。这将清除该 HashTable 中的所有键。 请记住,您从 session 中获得的是对绑定(bind)到键“哈希”的对象 chk 的引用。 如果清除该对象中的 key ,您将不会在第二页中检索到任何 key 。

这有道理吗? :)

关于java - 无法从其他 jsp 上的 session 获取哈希表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24338279/

相关文章:

java - 检查字符串中的回文(java)(菜鸟状态)

java - 在 Struts 2 中使用 jQuery 的 Ajax 表单提交按钮

r - 在启动时检测 R session 是否在 RStudio 中运行

java - 将两个 CSV 文件导入 Java,然后解析它们。第一个有效,第二个无效

java - 如何阻止列表将 1 和 0 的混合转换为全 0?

java - Play 应用程序未生成日志文件夹

java - 我是 jsp 和 google 应用引擎的新手,收到此错误 : HTTP method GET is not supported by this URL

java - 在struts2中迭代映射类型的问题

php - $_SESSION 变量过期时如何注销用户

java - "Sessions"与谷歌云端点