从托管bean的构造函数中导航到另一个页面/视图是否可能?如果发生任何异常,我希望进行重定向。我尝试了许多方法:
在JSF 1.2中不太可能实现吗?因为我正在使用ADF 11.1.1.6.0,它使用JSF 1.2,上述“尝试”中的某些内容包含ADF Faces的方法。
我需要一种方式,无论是JSF 1.2还是ADF Faces,都可以导航到错误页面。我唯一成功的方法是,使用后端执行的javascript,在发生错误时在
在这方面的任何指针都将非常有帮助。
尝试1:
getFacesContext().responseComplete();
getFacesContext().getApplication().getNavigationHandler().handleNavigation(getFacesContext(), null, "gotoPartError");
getFacesContext().renderResponse();
Try-2:
getServletResponse().sendRedirect("partError.jspx")
尝试-3:
getFacesContext().responseComplete();
getFacesContext().getExternalContext().redirect(getServletRequest().getContextPath() + "/pages/partError.jspx");
尝试-4:
RequestDispatcher dispatcher = getServletRequest().getRequestDispatcher("partError.jspx");
dispatcher.forward(getServletRequest(), getServletResponse());
尝试-5:
FacesContext context = getFacesContext();
UIViewRoot newPage = context.getApplication().getViewHandler().createView(context, "/partError.jspx");
context.setViewRoot(newPage);
context.renderResponse();
尝试-6:
ControllerContext.getInstance().getCurrentViewPort().setViewId("partError");
尝试7:
Exception Handler in adfc-config.xml
尝试-8:
Custom service handler defined in /.adf/META-INF/services/oracle.adf.view.rich.context.Exceptionhandler which extends oracle.adf.view.rich.context.Exceptionhandler
Try-9:
By extending JSF Life Cycle
他们都没有起作用。对于我收到的所有案例。
java.lang.IllegalStateException: Cannot forward after response has been committed
在JSF 1.2中不太可能实现吗?因为我正在使用ADF 11.1.1.6.0,它使用JSF 1.2,上述“尝试”中的某些内容包含ADF Faces的方法。
我需要一种方式,无论是JSF 1.2还是ADF Faces,都可以导航到错误页面。我唯一成功的方法是,使用后端执行的javascript,在发生错误时在
_self
窗口中打开错误页面,但我真的不喜欢这种方法。在这方面的任何指针都将非常有帮助。