After preliminary testing, it seems I have solved the problem! I will post the solution as well as write up a knowledgebase on this later today. It has to do with using (and not using) pages.xml to redirect to same page after a4j:commandButton click.
Before:
<page view-id="/ManageEquipment.xhtml"> <description>Manage Equipment</description> <navigation from-action="#{manageEquipment.processRepairHistorySelection}"> <redirect view-id="/RepairCaseDetails.xhtml"/> </navigation> </page>
after:
<page view-id="/ManageEquipment.xhtml"> <description>Manage Equipment</description> <navigation from-action="#{manageEquipment.processRepairHistorySelection}"> <redirect view-id="/RepairCaseDetails.xhtml"/> </navigation> <navigation from-action="#{manageEquipment.searchSerialNumber}"> <redirect view-id="/ManageEquipment.xhtml"/> </navigation> </page>
So the redirect in the page descriptor for this page is causing the post-pending of the cid value in the URL on postback.
Not sure if I have read this anywhere (if you return void from the public action method, postback occurs anyways after form submission as HTTP POST request, so that was the confusion).
Apparently this has nothing to do with the a4j:commandButton but it was very very bad experience b/c it worked ok with h:commandButton. I was able to figure this out by examining the booking source code. thx.
Hi Arbi,
I've been search for a anwser like you post about a problem what occurs when a user do a submit on form and so push back button from webbrowser. He got a message: webpage has expired.
Looking for a workaround I found pageflow with jbpm, but no lucky anywhere. The case occurs only in IE versions Browsers. Im using seam 2.2.1 RC and Jboss 5.1.
Does anyone knows about how fix it?