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
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.
For more information on JIRA, see: http://www.atlassian.com/software/jira