gpt4 book ai didi

java - Tapestry - 当用户打开新选项卡时,持久数据被覆盖

转载 作者:行者123 更新时间:2023-11-30 08:27:32 25 4
gpt4 key购买 nike

我正在使用注解@Persist(PersistenceConstants.SESSION) 使一些数据持久化。

问题是,当用户打开相同页面类型的新选项卡时,持久数据将被覆盖。

我希望数据在每个页面而不是每个 session 中持久存在,以便每个页面都有自己的一组持久数据。我怎样才能在 Tapestry 中实现这一点?

最佳答案

当有人想使用 session 时,我总是问的第一个问题是“你真的需要使用 session 吗?”

没有看到你的代码很难帮助你,但我总是在不使用 session 的情况下解决这些问题。如果你总是在 URL 中传递标识符,那么你可以在多个浏览器窗口中为不同的实体打开相同的页面,一切都会正常进行。

选项 1:使用页面激活上下文(用于页面加载)和事件上下文(用于事件链接/操作链接)来维护请求之间的实体 ID。

选项 2:使用 @Persist(PersistenceConstants.CLIENT),每次使用请求参数在客户端和服务器之间传递实体 ID。

如果你真的想使用HTTPSession,你可以使用tapestry-conversations但在考虑了我上面提到的两种无状态/基于 URL 的方法后,请考虑这是最后的手段。

关于java - Tapestry - 当用户打开新选项卡时,持久数据被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20801293/

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