我有一个员工会话bean,它具有相同类的相关员工bean的列表。我的用户需要能够查看“主要”员工,并从该员工那里产生多个浏览器窗口以显示相关员工的信息,但保持“主”或“根”员工视图处于活动状态,以便他们可以继续从该处开始工作。启动多个新窗口,但保持当前视图有效
我相信目前正在发生的事情是JSF会打开一个新窗口并呈现相关员工,但随后丢失原始窗口/视图的轨迹,因此如果您单击命令链接或从原始窗口运行任何内容(在您之后已经使用命令链接中的目标属性产生了新窗口)第二个动作将不会运行或调用会话bean中的任何方法,除了重新加载页面之外,它似乎没有任何操作。我相信因为你试图从一个旧的JSF视图运行一个动作,而这个视图不再被注册,所以当框架从这个过时的视图中收到一个请求时,它必须注册?也许?
本质上,我试图为同一个用户激活同一会话bean类型的多个显示,并将每个会话bean视图附加到单独的浏览器窗口。
如果您有任何想法,请让我知道。或者如果有更好的方法来做到这一点。
请更具体描述具体问题。从开发人员的角度进行阐述,而不是以最终用户的视角进行阐述。例如,当你说*“如果你尝试从原始窗口运行一个命令,它会忽略它”*会发生什么。 – BalusC 2012-02-02 21:25:02
对不起,谢谢你的建设性批评。我将编辑并添加更多信息。 – Eric 2012-02-02 22:19:55
我认为你用几句话要寻找的是如何让用户在其他工作而不是ViewExpiredException时保持一个视图活着。 Mojarra(逻辑视图的数量)和MyFaces(MYFACES-3117见org.apache.myfaces.NUMBER_OF_SEQUENTIAL_VIEWS_IN_SESSION web配置参数)对这个问题有一些解决方法,但是最终的解决方案可能在JSF 2.2上。 – lu4242 2012-02-03 23:00:53