制作“后退”链接的最佳方式是什么,以便应用程序在导航后保持一致。
-
onclick="history.go(-1)"
.这是非常有害的吗? - 在支持 bean 中使用堆栈,弹出最后一个 View 的导航案例。您可以通过使用
<f:setPropertyActionListener>
设置导航案例来完成此操作. - 这些都不是……其他解决方案。
任何帮助将不胜感激!分享你的意见! 丹尼尔
最佳答案
如果您想通过编程导航链接来解决这个问题,您可以使用 LinkedList
作为堆栈。通过这种方式,您可以为存储的导航案例数量设置界限。
例子:
public class BackNavigationBean {
public BackNavigationBean() {
history = new LinkedList<String>();
}
private LinkedList<String> 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();
}
}
因此在“转发”链接中:
<h:commandLink value="Forward" action="#{myBean.someMethod}">
<f:setPropertyActionListener target="#{backNavigationBean.lastPage}"
value="back_to_index" />
</h:commandLink>
“后退”链接将是:
<h:commandLink value="Back"
action="#{backNavigationBean.getLastPage}" />
关于java - JSF 中 "Back"导航链接的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2206953/