Details
Description
The issue resides in the JS code that is responsible for updating javax.faces.ViewState key in the hidden input elements.
In IE7 during the second update the lookup for the 'javax.faces.ViewState' named input element fails. The element[name] syntax is used for the lookup which is known to fail for elements with complex names (such as 'javax.faces.ViewState').
When the lookup fails to find the input element a second input element is created which will contain the new javax.faces.ViewState value. The next submit will send two 'javax.faces.ViewState' parameters but only the first one (the oldest) is read by the server state manager . This old key is not known to the server anymore and this causes a ViewExpired exception to be thrown on the server.