Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “最佳实践”;“后退”;JSF中的导航链接_Java_Jsf_Navigation - Fatal编程技术网

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

Java “最佳实践”;“后退”;JSF中的导航链接,java,jsf,navigation,Java,Jsf,Navigation,创建“反向”链接的最佳方法是什么,以便应用程序在导航后保持一致 onclick=“history.go(-1)”。这很有害吗 在支持bean中使用堆栈,弹出最后一个视图的导航案例。您可以通过使用设置导航案例来完成此操作 这些都不是。。。其他解决办法 任何帮助都将不胜感激!分享你的想法! 丹尼尔我正在使用: 用于提供对话范围 每个导航规则的 这可确保按下“后退”按钮或history.go(-1): 上一屏幕中可用的数据仍将存在(因为对话仍处于活动状态) “重新提交”浏览器对话框将不会打开

创建“反向”链接的最佳方法是什么,以便应用程序在导航后保持一致

  • onclick=“history.go(-1)”
    。这很有害吗
  • 在支持bean中使用堆栈,弹出最后一个视图的导航案例。您可以通过使用
    设置导航案例来完成此操作
  • 这些都不是。。。其他解决办法
任何帮助都将不胜感激!分享你的想法! 丹尼尔

我正在使用:

  • 用于提供对话范围
  • 每个导航规则的
这可确保按下“后退”按钮或
history.go(-1)

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

p.S.具有不同的含义

如果您想通过编程导航链接解决此问题,可以使用
链接列表
作为堆栈。通过这种方式,您可以为存储的导航案例数设置边界

例如:

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();
    }
}
公共类BackNavigationBean{
公共BackNavigationBean(){
历史记录=新的LinkedList();
}
私人链接列表历史;
公共链接列表getHistory(){
回归历史;
}
public void setLastPage(字符串navigationCase){
历史推送(navigationCase);
如果(history.size()>10){
pollLast();
}
}
公共字符串getLastPage(){
返回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}" />

Hi。这个Bean的范围是什么?因为如果它是sessionscope,那么管理导航将非常困难,因为堆栈将被链接推送,这将导致错误导航。