我发现了很多如何在 wicket 中创建后退按钮的示例,但它在 wicket 1.4 及更低版本中使用getPageMap
。此功能不在 wicket 1.5 中。我知道有一些 js 功能作为window.history.back()
or history.go(-1
) 但我想实现一些明确的解决方案。任何想法 ?
我的想法是将 webPage 作为 Stack 存储在我自己的 webSession 中。这个好吗 ?
public class TournamentSession extends WebSession {
protected final Logger logger = LoggerFactory.getLogger(getClass());
private static final long serialVersionUID = 1L;
private Stack<BasePage> previosPage = new Stack<BasePage>();
public TournamentSession(Request request) {
super(request);
}
public void addPreviosPage(BasePage basePage) {
logger.info(basePage.getClass().toString());
previosPage.push(basePage);
}
public BasePage getPreviousPage() {
BasePage basePage = previosPage.pop();
logger.info(basePage.getClass().toString());
return basePage;
}
}
当页面被渲染时,将实际页面存储到这个堆栈