JSF中“后退”导航链接的最佳实践

制作“后退”链接的最佳方法是什么,以便导航后应用程序保持一致。

  • onclick="history.go(-1)" 。 这是非常有害的吗?
  • 使用支持bean中的堆栈弹出最后一个视图的导航大小写。 您可以通过使用设置导航大小写来完成此操作。
  • 这些都不是……其他解决方案。

任何帮助,将不胜感激! 分享你的意见! 丹尼尔

我正在使用:

  • MyFaces乐团提供对话范围
  • 每个导航规则的

这确保在按下“后退”按钮或history.go(-1)

  • 上一个屏幕中可用的数据仍然存在(因为对话仍处于活动状态)
  • “重新提交”浏览器对话框将无法打开。

PS “反向链接”具有不同的含义

如果要通过编程的导航链接解决此问题,可以将LinkedList用作堆栈。 这样,您可以为存储的导航案例数设置边界。

例:

 public class BackNavigationBean { public BackNavigationBean() { history = new LinkedList(); } private LinkedList history; public LinkedList getHistory() { return history; } public void setLastPage(String navigationCase) { history.push(navigationCase); if (history.size() > 10) { history.pollLast(); } } public String getLastPage() { return history.pop(); } } 

所以在“前进”链接中:

    

并且“后退”链接将是: