Как перенаправить на другую страницу, сохранив исходный URL?
В моем веб-приложении 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 и изменяют отображаемый URL в адресной строке браузера.
1 ответ
Вы должны поставить RestartResponseException
с RedirectPolicy.NEVER_REDIRECT
, Т.е.
throw new RestartResponseException(new PageProvider(Error404Page.class), RedirectPolicy.NEVER_REDIRECT);