我是 JSF 的新手,我正在做一些关于 Scopes 和 Http 会话生命周期的研究,但我不清楚一件事。
我知道可以使用 ExternalContext 中的 sessionMap 来存储变量,并且它曾经可以很好地满足我的需要。我也知道,当会话无效时,存储在地图上的所有数据都会丢失。
但是,我不知道的是:刷新页面时会话无效?
当我不得不在我的 Web 应用程序中的一个按钮上发出下载请求时,我的问题就出现了。显然无法通过 Ajax 发出下载请求,因此必须刷新整个页面。下载正常进行,但在那之后,地图上存储的所有数据都消失了,包括所有托管的 bean。用户数据本身并不重要,因为我可以存储它,然后将其再次放在新的会话地图上。但是托管 bean 呢?我应该如何进行?