playframework - playframework 中的对话,或者更确切地说选项卡状态与 session 状态

标签 playframework

编辑:更多详细信息请参见此处。基本上如果你

1. open a tab1 to url1 (GET request which may save url in session)
2. open a tab2 in another url2 (GET request which save url in session overwriting 1)
3. go back to tab1, and click add project which issues GET request to get post form
4. when posting now, it will go back to tab2 incorrectly when it should go back to tab1 since that is where we choose "create new issue" link from.

这种行为对用户来说非常令人困惑。作为 Web 开发人员,我们希望能够在应用程序的任何页面上添加添加项目按钮,但这会持续导致上述类型的错误,这非常烦人。

这篇文章的主要问题是其他人对选项卡/对话状态做了什么?另请阅读下面的示例。

我们一直在从seam 移植......虽然对话半不错,但我们几乎真的想要选项卡状态。我们分析得越多,就越理解为什么不存在选项卡状态。

  1. 我们可以创建一个 tabid=xxxx,其中 xxx 是一个 guid,但在 playframework 中,您什么时候会超时。如果网络出现故障,您永远不会知道它超时了。 tabid 然后会绑定(bind)到该域的名称为 xxxx 的 cookie,以便您拥有选项卡状态。

  2. 您可以每次都将 tabids 放入 session cookie 中,这样您最终就可以使选项卡超时......这确实不是一个坏主意。如果游戏已经有这样的东西就好了。如果用户长时间打开内容,它将结束选项卡状态...需要保存来自包含 tabid 参数的选项卡的最后一个请求的时间戳。

  3. 目前,我们将使用 ajax 弹出表单,因此如果有人添加票证,并且他们下拉项目菜单并选择新项目,我们将停留在页面上并 ajax 弹出一个表单......不确定这将如何运作。

我们的主要目标实际上是我们总是希望返回到用户来自的网址,并且能够向任何页面添加编辑/添加按钮,而不用担心返回到用户来自的页面... .我能想到的唯一方法是弹出ajax,但它有一个很大的缺点,即没有可引用的url。

示例:我们有编辑项目,理想情况下用户可以直接转到编辑项目 url 的 url,该 url 中包含项目名称!但随后我们无法返回它们来自的 url,或者我们可以执行 ajax 表单弹出窗口,但随后我们无法拥有一个可以传递来查看/编辑项目(主要是 View )的漂亮 url。

其他人对此有何看法?朝哪个方向走?我们不希望拥有阅读项目页面和编辑项目页面,而只拥有一个大多数人只是阅读并有时编辑的编辑项目页面。

谢谢, 院长

最佳答案

关于 session cookie,您可以设置最大生存时间 我不太明白你的项目示例。为什么不能返回项目 URL?

关于playframework - playframework 中的对话,或者更确切地说选项卡状态与 session 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9221234/

相关文章:

hibernate - JPA/Hibernate 提高批量插入性能

playframework - Play Framework + SecureSocial : java. lang.NoSuchMethodError : securesocial. controllers.ReverseLoginPage.authenticate

java - Play框架2.X : Dealing w/onReqest and redirect in Global. java

java - 在带有 Play 框架 2.1.x 的 Eclipse 中使用多个项目

database - 如何在 Play 2.0 中为每个环境设置不同的数据库?

junit - "play test"类路径不同于 "sbt test"类路径

scala - 如何通过 JMX 动态更改 Play 中的配置

java - 从 PagedList 中排除重复数据

scala - 查询参数作为列表

java - Play 2框架如何每秒测量线程