Getters dentro de f: textualmente llamado antes del envío del formulario

Tengo la siguiente página:

<h:form id="gameSelectionForm">
    <h:selectOneMenu id="gameSelection">
        <f:selectItems value="#{gameBean.gameIds}" />
    </h:selectOneMenu>
    <h:commandButton id="gameSelector" value="Play" action="#{gameBean.changeGame}"  />
</h:form>

<h:panelGroup id="gameDiv">
    <f:verbatim>
        <iframe src="/levelup/resources/games/#{gameBean.gameId}/#{gameBean.htmlPage}"  width="700px" height="800px" frameborder="0"/>
    </f:verbatim>
</h:panelGroup>

Cuando hago clic en el botón "gameSelector", aquí está la secuencia de eventos: 1. gameBean.getGameId y gameBean.getHtmlPage se llaman 2. gameBean.changeGame se llama 3. La página se actualiza.

Mis problemas se encuentran en el orden de 1. y 2. changeGame modifica una variable gameBean que usan getGameId y getHtmlPage. Por lo tanto, quiero que se ejecute primero, de modo que cuando se actualicen otros paneles, contengan los datos adecuados.

Tenga en cuenta que este problema parece ocurrir solo para la llamada dentro del elemento gameDiv (otras variables se actualizan correctamente).

¿Tendrías alguna idea de lo que podría hacer para revertir el orden de 1. y 2., para que el método changeGame () sea el primero llamado?

Estoy usando JavaServer Faces 2.0 en Tomcat 7.0.

Gracias por adelantado

Respuestas a la pregunta(3)

Su respuesta a la pregunta