在我的Wicket 1.5网络应用程序中,我想重定向到另一个可收藏的页面,而原始页面的 URL应保持。
@MountPath(value="page1")
public class WebPage1 extends WebPage {
public WebPage1() {
...
if (!isDisplayable()) {
setResponsePage(WebPage2.class);
// throw new RestartResponseException(Error404WebPage.class);
// throw new RestartResponseAtInterceptPageException(Error404WebPage.class);
}
}
private boolean isDisplayable() {
boolean flag = ...
...
return flag;
}
}
@MountPath(value="page2")
public class WebPage2 extends WebPage {
public WebPage2() {
}
public WebPage2(PageParameters params) {
}
}
使用setResponsePage(..),抛出新的RestartResponseException(..)或抛出新的RestartResponseAtInterceptPageException(..)的方法都不会保持URL不变。 所有三种方法都重定向到Page2 和更改浏览器地址栏中显示的网址。
答案 0 :(得分:0)
您应该向RestartResponseException
提供RedirectPolicy.NEVER_REDIRECT
。即。
throw new RestartResponseException(new PageProvider(Error404Page.class), RedirectPolicy.NEVER_REDIRECT);