在我开发的应用程序中,我试图为应用程序的页面保留一个漂亮且可读的 URL。 我从网址开始如下: http://somedomain.com/context/?param1=value¶m2=value 其中 context 是应用程序挂载路径,param1 和 param2 是传递给应用程序的一些参数。 问题是,当我移动到另一个页面时,网址更改为如下: https://somedomain.com/?wicket:bookmarkablePage=:something&Title=something&group=something 我在页面之间移动的方式如下:
getRequestCycle().setResponsePage(new otherPage(obj1, obj2, pageParameters)
其中 obj1 和 obj2 是页面初始化所需的对象。 据我了解this发布使用
RequestCycle().setResponsePage(Page page)
使用时创建一个不可添加书签且不显示参数的有状态页面
RequestCycle().setResponsePage(Class<C> pageClass, PageParameters pageParameters)
创建一个显示参数的无状态页面。 问题是我使用第一个,因为我必须自己创建页面,以便我可以将两个对象传递给它。 有什么方法可以保持 url 的原始可书签格式并从中删除 wicket 的参数吗? 我几乎尝试了此网站和其他网站上发布的所有建议,但没有一个适合我的情况,因为他们建议让 wicket 自己创建页面(使用 setResponsePage 的第二个选项)。 任何帮助都感激不尽。 谢谢
最佳答案
从您的网址示例中我看到您正在使用 Wicket 1.4。我相信 1.5 可以开箱即用地满足您的需求。在 Wicket 1.4 中,您可以通过使用 HybridUrlCodingStrategy 安装页面来实现类似的结果。
关于java - 带有状态页面的 wicket url 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10702641/