在struts2中打开新选项卡时,应显示已记录的页面

在struts2中打开新选项卡时,应显示已记录的页面,struts2,Struts2,我正在开发Struts2项目。 在该项目中,用户可以登录并完成工作。 如果该用户打开新选项卡并键入我的项目url,它将显示相同的页面(在登录页面之后)。 如何实现上述场景?一种方法是,在一个与您的问题几乎相同的问题中(概念相同,只是.NET上的实现不同) 每次传入操作时计算一个唯一值,然后将 将其保存在会话变量(即服务器端)中,并使用它为 网页上的隐藏字段(即客户端) 当页面发回(提交)包含隐藏字段的表单时,您 将查看页面字段和会话字段是否相同 如果是:它是(唯一或)打开的最后一页/选项卡 如果

我正在开发Struts2项目。 在该项目中,用户可以登录并完成工作。 如果该用户打开新选项卡并键入我的项目url,它将显示相同的页面(在登录页面之后)。
如何实现上述场景?

一种方法是,在一个与您的问题几乎相同的问题中(概念相同,只是.NET上的实现不同)

每次传入操作时计算一个唯一值,然后将 将其保存在会话变量(即服务器端)中,并使用它为 网页上的隐藏字段(即客户端)

当页面发回(提交)包含隐藏字段的表单时,您 将查看页面字段和会话字段是否相同

如果是:它是(唯一或)打开的最后一页/选项卡

如果否:您正试图从一个非当前页面提交表单 最后一页打开了

这样,您将始终只有一个web应用程序实例,如果在新页面/选项卡中打开另一个web应用程序实例,则会使上一个实例无效:只有最后打开的实例才有效(因为有多个隐藏字段,每个页面一个,但只有一个会话变量)

如果你真的需要(你呢?)阻止用户打开一个新标签,而不是确保web应用程序只有一个实例,那么从这个原则开始工作,并最终回到这里(最好使用一些代码)