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?
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
Vous devez vous connecter pour publier un commentaire.
Enfin, j'ai trouvé un moyen à l'aide de OmniFaces, avec
<o:moveComponent />
:page:
fragment:
Cela entraînera un avertissement:
parce que la restauration, les composants ne sont pas re-supprimé sur les
RESTORE_VIEW
pour publication.Ces mises en garde, comme pour mes expériences, sont inoffensifs et ne peut être ignoré en toute sécurité.
Cependant j'ai ouvert une pull request éventuellement de le corriger.
OriginalL'auteur Michele Mariotti
Utiliser un seul formulaire à l'intérieur de la boîte de dialogue. Beau travail pour moi.
OriginalL'auteur Manuel Luna