1
votes

Why IE (IE8) is still trying to render the current page after FacesContext.responseComplete() is called immediately after the page is re-directed to another page using Response.sendRedirect(). Other browsers (Firefox, Chrome, Opera...) just jump to another page without trying to render the current page. I am using JSF 1.2 with Richfaces 3.3 final. JSF life cycles are listed below for a command button being triggered. Please notice the validation phase on IE. Is the validation the root cause?

Other browsers

Before RESTORE_VIEW 1

After RESTORE_VIEW 1

Before APPLY_REQUEST_VALUES 2

After APPLY_REQUEST_VALUES 2

Before PROCESS_VALIDATIONS 3

After PROCESS_VALIDATIONS 3

Before UPDATE_MODEL_VALUES 4

After UPDATE_MODEL_VALUES 4

Before INVOKE_APPLICATION 5

After INVOKE_APPLICATION 5

Before RENDER_RESPONSE 6

After RENDER_RESPONSE 6

Before RESTORE_VIEW 1

After RESTORE_VIEW 1

Before RENDER_RESPONSE 6

After RENDER_RESPONSE 6

IE

Before RESTORE_VIEW 1

After RESTORE_VIEW 1

Before APPLY_REQUEST_VALUES 2

After APPLY_REQUEST_VALUES 2

Before PROCESS_VALIDATIONS 3

After PROCESS_VALIDATIONS 3

Before UPDATE_MODEL_VALUES 4

After UPDATE_MODEL_VALUES 4

Before INVOKE_APPLICATION 5

After INVOKE_APPLICATION 5

Before RENDER_RESPONSE 6

After RENDER_RESPONSE 6

Before RESTORE_VIEW 1

After RESTORE_VIEW 1

Before APPLY_REQUEST_VALUES 2

After APPLY_REQUEST_VALUES 2

Before PROCESS_VALIDATIONS 3

... errors (not related to the question)

After PROCESS_VALIDATIONS 3

Before RESTORE_VIEW 1

After RESTORE_VIEW 1

Before RENDER_RESPONSE 6

After RENDER_RESPONSE 6

1
Browser-specific problems are usually caused by client-side code (and thus not by server-side code such as JSF). Do you have some JavaScript code which submits a form onload, for example? Perhaps there's some unforeseen browser-specific JS condition which caused it to be triggered in IE.BalusC
I didn't implement any validation rulesuser1788783
Did I tell anything about validation? Please re-read the comment and answer it directly instead of coming back with a totally irrelevant comment.BalusC
Thanks BalusC for your quick response. I do onload a javascript to reset the timeout on every page. I will look into that.user1788783
sorry, but the validation comment was before i saw your answer.user1788783

1 Answers

0
votes

This problem is unrelated to JSF. Browser-specific problems are usually caused by client-side code such as HTML/CSS/JS and not by server-side code such as JSF. This particular issue is recognizeable as a JavaScript problem. You need to check if there isn't any JavaScript code which performs some task during onload / DOM-ready such as auto-submitting a form. The phase listener trace namely suggests that a POST request is been performed (phases #2 until with #5 normally appear during postback only).

Most likely there's some unforeseen browser-specific JS condition which caused the POST request to be triggered in MSIE.