我已经在这里询问了@ViewScoped托管bean:
Commandlink action and @viewscoped weird behaviour
不幸的是,在有关JSF的书籍和文档中,我只有@ViewScoped注释的提示,其幕后机制尚未公布。 所以,在我的JSF bean出现了一些可怕的麻烦之后,我对Mojarra 2.1做了一些测试,我得到了一些新的奇怪(对我而言)的结果。
首先,对同一页面执行连续的Get请求,每次都会重新创建链接的@ViewScoped托管bean。我原本期望将Post连续发布到同一页面的行为相同,即托管bean在帖子之间存活,并且不会再次创建。
当创建一个新的@Viewscoped托管bean时,并不意味着前一个托管bean被销毁。令人惊讶的是(对我而言)它仍然存在一段时间。我注意到这个事实使用浏览器后退按钮(我知道这不是不):我可以从托管bean中检索一些细节数据,这个数据应该是“已过期”,因为创建了一个具有不同过滤数据的新bean。
您能否确认我的结果是否正确?哪里可以在@ViewScoped内部机制上找到信息而无需查看其代码?
由于 菲利普
答案 0 :(得分:1)
我建议您查看BalusC的精彩文章"Communication in JSF 2.0",其中有一章介绍ViewScoped
bean有时表现为RequestScoped
个{(3}})的主题。