如何在页面重新加载后重新启动任务流?

时间:2015-02-24 06:03:12

标签: jsf oracle-adf

我在页面上有adf任务流程。 Taskflow里面有2个页面,第1页是默认页面。当我打开第一页,转到第二页并在浏览器中重新加载页面时,我仍然看到第二页。我在浏览器中重新加载页面后看到第1页的内容。

1 个答案:

答案 0 :(得分:0)

这是ADF任务流导航背后的主要原则,我们都喜欢和关心的原则。现在,你要改变它!

说真的,我不知道这样做的简单方法,但如果我尝试这样的话,我会使用pagePhaseListener:

public void beforePhase(PhaseEvent phaseEvent) {
    if (!AdfFacesContext.getCurrentInstance().isPostback()) 
    { 
        ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
        HttpServletRequest request = (HttpServletRequest) ec.getRequest();
        try {
            ec.redirect((request).getRequestURI());
            //you need to flag this redirect into the session, not to get an infinite loop.

        } catch (IOException e) {
            e.printStackTrace();
        }
    }


}

同样,我会非常小心这种方法,特别是如果您使用的是ADF业务组件。