使用@WindowScoped bean处理新标签

时间:2016-02-05 11:00:13

标签: jsf cdi deltaspike

我有一个使用Deltaspike的CDI应用程序,它使用非常有用的@WindowScoped注释来支持多个选项卡。该应用程序的场景如下:

  1. 用户从列表中选择一项,然后点击“修改”。
  2. 用户针对对象进行身份验证。
  3. 正在编辑的对象的ID和经过身份验证的用户的用户名存储在窗口范围内,可供系统编辑部分中的所有页面使用。
  4. 当用户完成访问此对象后,他们会单击“完成”并关闭与此对象的会话(@WindowScoped bean已被删除)。
  5. 如果用户打开新选项卡然后选择要编辑的新对象,那么一切都可以正常工作,因为ID和身份验证详细信息是针对新的@WindowScoped对象存储的。

    但是,由于有多个编辑页面,用户还可以右键单击并在新选项卡中打开链接。然后失败,因为新的@WindowScoped bean不知道创建它的上下文(基本上是前一个会话的对象ID和用户名)。

    有没有办法使用@WindowScoped访问以前的窗口范围对象?或者是否有一种在窗口范围内的bean之间共享信息的常用方法?

    感谢您的任何建议!

0 个答案:

没有答案