2012-12-14 28 views
0

我发现了很多示例如何在检票中创建后退按钮,但它在1.4和更低的位置使用getPageMap。此功能不在1.5检票。我知道有一些js功能为window.history.back()history.go(-1),但我想实现一些明确的解决方案。任何想法 ?如何实现检票口中的后退按钮1.5

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

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; 
} 
} 

,当页面是呈现店内实际页面,这个堆栈

+0

浏览器导航不工作,因为它应该适合你?如果它按预期工作,我认为JavaScript调用是好的。 –

+0

WebSession对大小设置了限制,保存到很多页面会导致会话失效。 http://ci.apache.org/projects/wicket/apidocs/6.0.x/org/apache/wicket/Session.html#getSizeInBytes%28%29 – divanov

+0

您也可以将上一页作为构造函数参数发送并使用setResponsePage(previousPage)方法 – user1266343

回答

0

使用session.getPageManager().getPage(id)