如何在保留原始网址的同时重定向到另一个页面?

时间:2012-01-11 15:42:45

标签: wicket-1.5 wicketstuff

在我的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 更改浏览器地址栏中显示的网址。

1 个答案:

答案 0 :(得分:0)

您应该向RestartResponseException提供RedirectPolicy.NEVER_REDIRECT。即。

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