[ https://issues.apache.org/jira/browse/MYFACES-3191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13229364#comment-13229364 ]
Leonardo Uribe commented on MYFACES-3191: ----------------------------------------- MyFaces org.apache.myfaces.renderkit.ErrorHandler has this line: if (!facesContext.getExternalContext().isResponseCommitted()) { facesContext.getExternalContext().responseReset(); } > Handing exception (in exception handler) from render response phase with > forward/redirect is inconsistent > --------------------------------------------------------------------------------------------------------- > > Key: MYFACES-3191 > URL: https://issues.apache.org/jira/browse/MYFACES-3191 > Project: MyFaces Core > Issue Type: Sub-task > Components: General > Affects Versions: 2.1.2-SNAPSHOT > Environment: myfaces trunk > Reporter: Martin Kočí > > View.xhtml snippet: > <h:commandButton value="Submit"> > <f:setPropertyActionListener value="#{true}" > target="#{bean.rendered}" /> > <f:ajax render="outputText" /> > </h:commandButton> > <h:outputText rendered="#{bean.rendered}" id="outputText" > value="#{bean.value}" /> > Bean.java snippet: > public Object getValue() { > throw new NullPointerException(); > } > Custom exception handler code: > if (PhaseId.RENDER_RESPONSE.equals(currentPhaseId)) { > try { > nav.handleNavigation(facesContext, > null, "/ErrorPage.xhtml?faces-redirect=true"); > } finally { > i.remove(); > } > } > Modify view and exception handler to achieve following combinations (HTML > request = comment out f:ajax, forward = remove ?faces-redirect=true) > 1) HTML request + forward: nothing in log, and malformed output is produced > (no closing tags for </body> etc.) > 2) HTML request + redirect: OK , redirect to ErrorPage.xhtml is done > 3) AJAX request + forward: exception in log, bud no forward to ErrorPage > performed > 4) AJAX request + redirect: exception in log, malformed XML produced (<?xml > and <partial-response 2x in output) , no redirect performed -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira