java - 是否有每个选项卡都不同的 session bean(Java/JSF 托管 bean,而不是浏览器 session )

标签 java jsf jsf-2 scope javabeans

我想要的是每个选项卡/窗口都有不同的 session bean。我知道 session bean 可以工作,但我想为新选项卡创建新的 session bean。以下是我想要新 session bean 的原因。

假设在第1页,我有用户列表。单击用户后,我在第 2 页中获取用户的详细信息。

现在假设我有两个选项卡。在这两个页面中我都有 page1.xhtml。 在 tab1 上,我单击了用户 A。我在 page2.xhtml 上看到了用户 A 的详细信息 现在我进入tab2。 在 tab2 上,我单击了用户 B。我在 page2.xhtml 上看到了用户 B 的详细信息 现在问题就在这里。现在我回到 tab1 并刷新 page2.xhtml,我看到用户 B 的详细信息,这是不正确的,因为之前我看到的是用户 A 的详细信息。

因此我想要的是每个新选项卡/窗口都有新的 session bean。

有什么方法可以为每个选项卡/窗口创建新的 sessionbean 吗?也许在primefaces或icefaces?

<小时/>

我认为 ViewScope 是解决方案,但事实并非如此。引用BalusC article .

@ViewScoped:只要您与浏览器窗口/选项卡中的同一 JSF View 交互,此范围内的 Bean 就会存在 。它根据 HTTP 请求创建,并在您回发到不同 View 时被销毁。

<小时/>

对于 SessionBean,我的意思是 Java/JSF 管理的 session 管理 Bean,而不是浏览器 session (历史记录)。

最佳答案

如果您使用 CDI 对话范围可能会有所帮助。

来自 Java EE 文档:ConversationScoped

这些教程可能会有所帮助。

  1. CDI Conversations Part 1
  2. CDI Conversations Part 2

希望这有帮助!!!

关于java - 是否有每个选项卡都不同的 session bean(Java/JSF 托管 bean,而不是浏览器 session ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15106865/

相关文章:

java - 将图像添加到 GUI

java - 如何在我的登录页面(JSF 2.0)实现多字段验证

hibernate - JSF View 不从数据库中恢复数据

java - 在 tomcat 中部署模型项目的最佳方法是什么

java - 将参数传递给 PrimeFaces 星级评分组件?

javascript - Primefaces 5.2 日历未定义

jsf-2 - 你如何使用 DefaultTreeNode(nodeType, data, parentNode)?

java - 如何从 .log 文件中删除某些列/元素?

Java Fake SMTP 由于超时而无法接收我的消息

java - 在java中将图像转换为圆柱形