如何在wicket 1.5中实现后退按钮

如何在wicket 1.5中实现后退按钮,wicket,Wicket,我发现了很多关于如何在wicket中创建back按钮的例子,但是wicket 1.4和更低版本中使用了getPageMap。wicket 1.5中没有此功能。我知道有一些js特性,比如window.history.back()或history.go(-1),但我想实现一些清晰的解决方案。有什么想法吗 我的想法是将网页作为堆栈存储在我自己的网页中。这个好吗 public class TournamentSession extends WebSession { protected final Lo

我发现了很多关于如何在wicket中创建back按钮的例子,但是wicket 1.4和更低版本中使用了
getPageMap
。wicket 1.5中没有此功能。我知道有一些js特性,比如
window.history.back()
history.go(-1
),但我想实现一些清晰的解决方案。有什么想法吗

我的想法是将网页作为堆栈存储在我自己的网页中。这个好吗

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;
}
}
public class TournamentSession扩展WebSession{
受保护的最终记录器Logger=LoggerFactory.getLogger(getClass());
私有静态最终长serialVersionUID=1L;
私有堆栈previosPage=新堆栈();
公开锦标赛会话(请求){
超级(请求);
}
公共void addPreviosPage(BasePage BasePage){
logger.info(basePage.getClass().toString());
previosPage.push(基本页面);
}
公共基本页getPreviousPage(){
BasePage BasePage=previosPage.pop();
logger.info(basePage.getClass().toString());
返回基本页面;
}
}

当页面呈现时,将实际页面存储到此堆栈中

使用
会话。getPageManager()。getPage(id)

浏览器导航是否不能正常工作?如果它按预期工作,我认为JavaScript调用就可以了。WebSession设置了大小限制,保存到多个页面将导致会话无效。您还可以将上一页作为构造函数参数发送,并使用setResponsePage(previousPage)方法