【问题标题】:Wicket appending weird number检票口附加奇怪的数字
【发布时间】:2014-09-08 02:17:40
【问题描述】:

我发现 Wicket 1.5.x 存在一个奇怪的问题。突然之间,wicket 开始在每个看起来像 mydomain.com/home?1 的 url 上附加一个数字。对于我单击的每个可书签链接,检票口都会向浏览器发送一个重定向,增加该数字。尝试清理 url 并调用 mydomain.com/home 时也会发生同样的情况,我最终会得到另一个重定向和增加的数字。

更糟糕的是,在 Google App Engine 上,单击链接时的版本号会增加两倍,这似乎也会导致提交表单时出现问题,而这些表单只是......好吧......什么都没有!?

我尝试过使用 setVersioned(false)/true 和 setStatelessHint(false)/true 没有任何结果。那可能是什么,如何摆脱它以及它如何影响我的应用程序无法在 GAE 上运行?

非常感谢 亚历克斯

编辑:

看起来 wicket 总是在增加我的页面的版本,因为我的基本页面是有状态的(如果模型中有用户名,则显示用户名)。但是网站上没有任何变化,但点击我的主页站点的书签链接会在每次点击时增加它的页面 ID,所以如果用户在主页链接上点击 10 次,他的历史记录会被 10 个完全条目污染> 没有任何改变的同一页面.. 这根本没有任何意义,所以我很好奇如何在不失去有状态的情况下解决这个问题!?

【问题讨论】:

    标签: java wicket wicket-1.5


    【解决方案1】:

    数字代表页面的版本。它在页面有状态时出现(因此服务器必须跟踪其状态)。

    要使页面无状态,只需要设置无状态提示。您必须避免任何在服务器端保持状态的组件,并使用无状态替代方案(StatelessForm 代替 FormStatelessLink 代替 Link)。

    我用一个无状态页面的例子回答了这个问题:Is it difficult to make a mainly stateless web application with Wicket?

    【讨论】:

    • 谢谢,但看起来 wicket 总是增加我页面的版本,因为我的基本页面是有状态的(如果模型中有用户名,则显示用户名)。但是网站上没有任何变化,但点击我的主页站点的书签链接会在每次点击时增加它的页面 ID,所以如果用户在主页链接上点击 10 次,他的历史记录会被 10 个 exactly条目污染> 没有任何改变的同一页面.. 这根本没有任何意义,所以我很好奇如何在不失去有状态的情况下解决这个问题!?
    【解决方案2】:

    有一张关于这个问题的 Jira 票:setVersioned(false) should force single Page Version。这个问题也已经讨论过in the mailing list。预期的并发症:Page Reload on Submit of non-versioned Page

    【讨论】:

      猜你喜欢
      • 2018-10-25
      • 2021-02-15
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多