PrimeFaces imbriqué à l'intérieur de p:dialogue avec appendTo="@(corps)

J'ai ce fragment:

<h:form id="form">

    <!-- other content -->

    <p:panel id="panel" header="test">
        <p:inputText id="input1" value="#{viewScope.prop1}" required="true" />
        <p:commandButton id="button1" process="@form" update="@form @widgetVar(dialog)"
            oncomplete="PF('dialog').show()" value="ok" />
    </p:panel>

    <!-- other content -->

</h:form>

<p:dialog id="dialog" header="dialog" widgetVar="dialog" modal="true">
    <h:form id="form2">
        <p:inputText id="input2" value="#{viewScope.prop1}" required="true" />
        <p:commandButton id="button2" process="@form" update="@form" value="ok" />
    </h:form>
</p:dialog>

et tout fonctionne comme prévu.

Ce que je voudrais obtenir ceci:

<h:form id="form">

    <!-- other content -->

    <!-- fragment start -->
    <!-- this fragment will be on its own file and included via ui:include (or inside composite component) -->
    <p:panel id="panel" header="test">
        <p:inputText id="input1" value="#{viewScope.prop1}" required="true" />
        <p:commandButton id="button1" process="@form" update="@form @widgetVar(dialog)"
            oncomplete="PF('dialog').show()" value="ok" />
    </p:panel>

    <p:dialog id="dialog" header="dialog" widgetVar="dialog" modal="true" appendTo="@(body)">
        <h:form id="form2">
            <p:inputText id="input2" value="#{viewScope.prop1}" required="true" />
            <p:commandButton id="button2" process="@form" update="@form" value="ok" />
        </h:form>
    </p:dialog>
    <!-- fragment end -->

    <!-- other content -->

</h:form>

mais j'ai essayé, sans succès, une combinaison de process et update pour button1 résultant de processus de quoi que ce soit... input1 est même la réinitialisation...

Alors, comment construire un p:dialog qui peuvent être expédiés à l'intérieur d'un fragment ou d'un composite de la comp et qui est exclue de l'extérieur form?

Noter que l'utilisation d':

<h:form id="form">

    <!-- other content -->

    <ui:include src="panel.xhtml" />

    <!-- other content -->

</h:form>

<ui:include src="dialog.xhtml" />

n'est pas une solution acceptable.

Je suis sur JSF 2.2.8 (mojarra) et PF 5.1

Je suppose que c'est pas acceptable pour démarrer l'include </h:form> et à la fin avec des <h:form> ? 🙂 Me semble que vous obtiendrez des formulaires imbriqués n'importe quoi
non, il n'est pas autorisé 🙂 cependant, je ne suis pas en essayant d'éviter les imbrications, je suis en train de faire le travail avec l'aide de appendTo attribut. selon PF dialogue docs cela devrait être possible.
Mais n'est-ce pas la des formulaires imbriqués ce qui vous donne de la difficulté? J'ai toujours pensé que cela pourrait être désemboîtées dans la sortie html par le biais de appendTo. Il y a quelques discussions sur primefaces forum à ce sujet, peut-être que vous pouvez trouver quelque chose
Essayez d'utiliser le nom du formulaire à la place de @form
double possible de vous Pouvez imbriquer des formulaires html?

OriginalL'auteur Michele Mariotti | 2014-10-28