Rendu d'autres formulaire en ajax causes de son état d'affichage à être perdu, comment puis-je ajouter ce retour?

J'ai

<h:form>
    <h:commandLink action="#{my_fake_ajax_link}">
        <h:outputText value="Link" />
        <f:ajax render=":mydiv" />
    </h:commandLink>
</h:form>

<h:panelGroup layout="block" id="mydiv">
    <h:form>
        <h:commandLink action="#{mybean.delete(0)}">
            <h:outputText value="Here" />
            <f:ajax render="@form" />
        </h:commandLink>
    </h:form>
</h:panelGroup>

Quand je clique une fois sur "my_fake_ajax_link", puis j'ai cliquer deux fois sur le lien "supprimer". Ce n'est qu'un exemple. Je n'ai pas de ce cas réel. J'ai plusieurs formulaires sur une page et je ne peux pas juste ajoutez-les tous dans un seul formulaire.

J'ai vérifié ce que le problème est et la il est:

  • Lorsque vous cliquez sur "my_fake_ajax_link", le mydiv refreshs avec l'ajax comme il se doit.
  • ViewState de l'actualisation formulaire en ajax est manquant.

Comment puis-je ajouter le ViewState? Comment puis-je le faire fonctionner sans l'aide d'un seul formulaire? Cela ressemble à un JSF bug pour moi. Je ne veux pas d'actualisation div automatiquement avec

jQuery("#mydiv").load(document.location.href);

mais je le ferai dans mon pire des cas possibles.

OriginalL'auteur Alex | 2011-10-18