1

在我开发的应用程序上,我试图为应用程序的页面保留一个漂亮且可读的 url。我从 url 开始,如下所示: http://somedomain.com/context/?param1=value¶m2=value 其中 context 是应用程序的挂载路径,param1 和 param2 是传递给应用程序的一些参数。问题是,当我移动到另一个页面时,url 更改如下: https://somedomain.com/?wicket:bookmarkablePage=:something&Title=something&group=something 我在页面之间移动的方式如下:

getRequestCycle().setResponsePage(new otherPage(obj1, obj2, pageParameters)

其中 obj1 和 obj2 是页面初始化所需的对象。正如我从这篇文章中了解到的那样

RequestCycle().setResponsePage(Page page)

创建一个不可收藏且不显示参数的有状态页面,同时使用

RequestCycle().setResponsePage(Class<C> pageClass, PageParameters pageParameters)

创建一个显示参数的无状态页面。问题是我使用第一个,因为我必须自己创建页面,这样我才能将两个对象传递给它。有什么方法可以将 url 保持为其原始的可收藏格式并从中删除 wicket 的参数?我尝试了几乎所有在这个网站和其他网站上发布的建议,但没有一个适合我的情况,因为他们建议让 wicket 自己创建页面(使用 setResponsePage 的第二个选项)。任何帮助都感激不尽。谢谢

4

1 回答 1

1

从您的 url 示例中,我看到您正在使用 Wicket 1.4。我相信 1.5 会做你想要的开箱即用。在 Wicket 1.4 中,您可以通过使用 HybridUrlCodingStrategy 挂载页面来获得类似的结果。

于 2012-05-24T17:06:25.910 回答