使用setResponsePage(Somepage.class)
或setResponsePage(new Somepage())
时,我想知道在我要去的页面中调用setResponsePage(...)的页面。
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。
任何帮助表示赞赏!
答案 0 :(得分:3)
您可以将页面设计为在其构造函数中使用PageReference
参数。每个页面后代都有getPageReference()
方法为您返回此内容。
public SomePage(PageReference pageRef) {
this.pageRef = pageRef;
}
然后,当您需要返回上一页时,您只需拨打
即可setResponsePage(this.pageRef.getPage());