检票口附加奇怪的数字

and*_*elt 3 java wicket wicket-1.5

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

更糟糕的是,在 Google App Engine 上,点击链接时版本号会增加两倍,这似乎也会导致提交表单的问题,而这些表单根本不做任何事情!?

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

谢谢亚历克斯

编辑:

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

tet*_*suo 5

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

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

我用一个无状态页面的例子回答了这个问题:用 Wicket 制作一个主要无状态的 Web 应用程序是否很难?