I want an action method to be run when my page is accessed by a redirect or GET, but if an action is performed by the user on the page through a commandLink or commandButton, I want that action method to run. I thought I could do that by creating a page action like this:
<page view-id="/peopleSearch.xhtml" action="#{peopleSearch.findAllPeople}">
 <navigation>
 <rule if-outcome="viewPerson">
 <redirect view-id="/person.faces"/>
 </rule>
 </navigation>
 </page>...
<a4j:commandButton value="Search" action="#{peopleSearch.findPeople}" reRender="results"/>
...You can pass along a parameter with the button and check for that in the action to see if it was entered through a button. Perhaps even add that as a condition in pages.xhtml.