Как перенаправить на другую страницу, сохранив исходный URL? - PullRequest
2 голосов
/ 11 января 2012

В моем веб-приложении 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 Ответ

0 голосов
/ 16 ноября 2012

Вы должны снабдить RestartResponseException RedirectPolicy.NEVER_REDIRECT.Т.е.

throw new RestartResponseException(new PageProvider(Error404Page.class), RedirectPolicy.NEVER_REDIRECT);
...