如何跟踪Wicket的历史?

时间:2015-01-27 15:41:22

标签: wicket wicket-1.5

使用setResponsePage(Somepage.class)setResponsePage(new Somepage())时,我想知道在我要去的页面中调用setResponsePage(...)的页面。

Component中的

setResponsePage是最终的,所以我无法覆盖它。

我不想手动设置当前页面,如下所示:

Page page = new Somepage();
page.setReturnPage(new Returnable() {
    @Override
    public BasePage onReturn() {
        // use some local final variable to create a new instance of this previous page
    }
});
setResponsePage(page);

我只是希望它可用。如果我愿意,我确实希望能够手动更改“返回页面”。

我尝试使用Session跟踪这一点,但这不起作用。

我目前正试图弄清楚是否可以使用IRequestCycleListener,但我无法确定PageI来自RequestCycle。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:3)

您可以将页面设计为在其构造函数中使用PageReference参数。每个页面后代都有getPageReference()方法为您返回此内容。

public SomePage(PageReference pageRef) {
    this.pageRef = pageRef;
}

然后,当您需要返回上一页时,您只需拨打

即可
setResponsePage(this.pageRef.getPage());