1
我在页面上有adf taskflow。任务流中有2页,第1页是默认页面。当我打开第一页,转到第二页并在浏览器中重新加载页面时,我仍然看到第二页。浏览器重新加载页面后,我会怎样看第1页。页面重新载入后如何重新启动任务流程?
我在页面上有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。任务流的第一步是参数初始化。因此,当webcenter门户网站将其新参数用户看作是旧的时候,因为任务流没有,现在谈论它,并显示与旧参数相同的任务流视图。 – Dzmitr 2015-02-26 04:55:50
我会尝试使用您的解决方案,并会告诉结果。 – Dzmitr 2015-02-26 04:57:21
我建议重定向到一个静态页面(例如blank.html) 并在该页面中,再次从javascript(body onload =“document.location ='www.yourportal.com'”)重定向回您的门户 – 2015-02-26 10:05:30