在Wicket 1.5中如何更正获取页面实例的URL的方法是什么?
在Wicket 1.4.x中,这有效:
MyPage page = new MyPage(some, parameters);
getRequestCycle().urlFor(page).toString()
从RequestCycle in Wicket 1.5删除了许多不同版本的urlFor()
,其中包括我在Wicket 1.4中使用的urlFor(Page page)。
答案 0 :(得分:9)
您需要:org.apache.wicket.request.cycle.RequestCycle#urlFor(IRequestHandler)。
cycle.urlFor(new RenderPageRequestHandler(new PageProvider(page)))
我不确定为什么这不会迁移。我猜是因为它没有被广泛使用......
答案 1 :(得分:0)
org.apache.wicket.RequestCycle.urlFor已重命名为org.apache.wicket.request.cycle.RequestCycle.urlFor(参见here)
[编辑] 我的错。尝试
RequestCycle.get().getUrlRenderer().renderFullUrl(Url.parse(urlFor(MyPage.class,null).toString()));
(摘自here)
答案 2 :(得分:-1)
尝试
RequestUtils.toAbsolutePath(urlFor(MyPage.class, params).toString(), "/");
请参阅JavaDoc of RequestUtils和Component as suplier for urlFor了解(稀缺)详细信息......但界面应该非常简单。只需提供目标类和PageParams-Object并(大部分)完成