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 保持不变。所有三个方法都重定向到 Page2更改浏览器地址栏中显示的 URL。

4

1 回答 1

0

您应该提供RestartResponseExceptionwith RedirectPolicy.NEVER_REDIRECT。IE

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