I have this h:commandButton inside updatePerson.xhtml to update person informations but when I click it, the pages action method (controller.preUpdatePerson) is being called as if I was entering in this page again. I get even more lost with this call to pages action because objects inside controller.preUpdatePerson are null at this point and then it stops here.
controller.update is never called. I can't tell why this is happening. All entities and controllers are at conversation scope. I have tried many combinations and it does not seem a transaction problem. So what is happening here?
System specs.: Seam 2.2.2 JSF 1.2
pages.xml:
<page view-id="/updatePerson.xhtml">
<action execute="#{controller.preUpdatePerson}" on-postback="false" />
<begin-conversation join="true" flush-mode="manual"/>
piece of updatePerson.xhtml:
<a4j:form id="editPerson" styleClass="inline" enctype="multipart/form-data">
<h:commandButton id="editPerson" value="#{messages['button.save']}"
action="#{controller.update}"/>
...
Based on this answer commandButton/commandLink/ajax action/listener method not invoked or input value not updated my problem has to do with enctype="multipart/form-data" as the page submits file to upload. I had to configure the filters properly in the web.xml.