我正在 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/