gpt4 book ai didi

java - 多选项卡问题 对于 Java Web 应用程序之一 - 混合来自两个不同记录的数据

转载 作者:太空宇宙 更新时间:2023-11-04 14:31:13 25 4
gpt4 key购买 nike

问题:每当我们在同一 session 的浏览器的两个不同选项卡中保存两条不同记录的数据时,各个保存记录的数据就会混淆。

场景:1) Tab1: 打开浏览器并登录应用程序并进入搜索屏幕。 (在我们的例子中,担保人搜索屏幕)。

2) Tab2:在同一浏览器中打开另一个浏览器选项卡,复制上一步的 URL 并将其粘贴到当前选项卡中,现在搜索屏幕在两个选项卡中打开。

3) 返回Tab1并搜索一位担保人(例如:34526等号码的担保人),在搜索屏幕中得到结果后打开一次。

4) 然后转到 Tab2 并搜索另一条担保人记录并打开该记录。

5) 现在单击“编辑”按钮来编辑在 Tab2 中打开的记录,然后返回到 Tab1,而不编辑 Tab2 中的数据。

6) 现在单击“编辑”按钮来编辑在 Tab1 中打开的记录,然后在该屏幕中进行修改并执行一些操作,例如“保存”操作,同时转到 Tab2 并单击“保存”操作此屏也。现在,我们单击了 Tab1 上的保存按钮,同时在 Tab1 完成保存操作之前,我们也在 Tab2 中执行了另一个操作(即保存)。

7)现在两个屏幕的数据都混淆了(这不是正确的行为)。在这种情况下,数据不应该混淆,应该正确保存为相应的记录。请注意,在上述场景中,两个选项卡打开的屏幕将相同,但记录不同。 (例如:打开“编辑担保人”屏幕,但有两个不同的担保人记录)。

客户首选的解决方案:

应用程序应允许对在多个选项卡中打开的记录进行更改,而不会中断应用程序流程。在这种情况下,登录应用程序的用户将是相同的,并且应用程序应允许多选项卡功能,而不会混淆数据。

问题的可能根本原因是:

1) IE 7 及更高版本的浏览器版本在整个浏览器中维护单个 session ,即使您打开新窗口也将具有相同的 session 。由于我们使用的是 IE8,因此即使通过不同的选项卡,它也能维持单个 session 。这可能会造成这个问题。

我们对上述问题进行了一些研究,并查阅了一些博客,但我们无法找到问题的正确解决方案。

我们检查了一些内容来解决此问题,例如:

1) SessionStorage 概念可从 HTML5 获得,并且可以从 IE8+ 浏览器支持,但此解决方案不支持我们上面提到的要求。如果有人在此帮助下得到上述结果,请告诉我们。

2)我们找到了另一种解决方案:URL重写 - (附加 session 详细信息和一些独特的详细信息来区分 session 并维护一些隐藏字段以跟踪每个页面中的 session ) - 但这非常复杂,而且我们不确定这是否可以解决上述问题。如有这方面的建议,请告知我们。

我们还尝试了一些带有 JavaScript 编码的示例,但没有得到所需的解决方案。

如果有人已经在他们的应用程序中实现了,我们期待一些指导或类似的解决方案。

最佳答案

您是否尝试设置要请求的表单 bean 的范围?默认情况下,struts 的 form bean 是 session 范围的。因此,您发回服务器的 bean 在选项卡之间共享。如果您设置请求的范围,那么您将在不同的选项卡中拥有不同的表单 bean。这将确保当用户点击“保存”时,数据不会混淆。

关于java - 多选项卡问题 对于 Java Web 应用程序之一 - 混合来自两个不同记录的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26119005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com