Jsf 页面重新加载后如何重新启动taskflow?

Jsf 页面重新加载后如何重新启动taskflow?,jsf,oracle-adf,Jsf,Oracle Adf,我在第页有adf任务流。Taskflow内部有2个页面,第1页是默认页面。当我打开第一页,转到第二页并在浏览器中重新加载页面时,我仍然会看到第二页。在浏览器中重新加载页面后,我如何才能看到第1页。这是ADF任务流导航背后的主要原则,这是我们都喜欢和关心的原则。现在,你想改变它 说真的,我不知道一个简单的方法,但如果我尝试这样的方法,我会使用pagePhaseListener: public void beforePhase(PhaseEvent phaseEvent) { if (!Ad

我在第页有adf任务流。Taskflow内部有2个页面,第1页是默认页面。当我打开第一页,转到第二页并在浏览器中重新加载页面时,我仍然会看到第二页。在浏览器中重新加载页面后,我如何才能看到第1页。

这是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业务组件时。

我在portlet内部使用taskflow。taskflow的第一步是参数初始化。因此,当webcenter portal设置其新参数时,用户会看到旧的,因为taskflow现在不了解它,并显示与旧参数相同的taskflow视图。我将尝试使用您的解决方案并告知结果。我建议重定向到静态页面(例如blank.html),并在该页面中,再次从javascript重定向回您的门户(body onload=“document.location='www.yourportal.com')