2

私の Wicket 1.5 Web アプリケーションでは、元のページの 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(..)、throw new RestartResponseException(..)、または throw new RestartResponseAtInterceptPageException(..) を使用したアプローチのいずれも、URL を変更しません。3 つの方法はすべて Page2 にリダイレクトし、ブラウザのアドレス バーに表示される URLを変更します。

4

1 に答える 1

0

を指定する必要がRestartResponseExceptionあり RedirectPolicy.NEVER_REDIRECTます。つまり

throw new RestartResponseException(new PageProvider(Error404Page.class), RedirectPolicy.NEVER_REDIRECT);
于 2012-11-16T09:49:41.540 に答える