47 votes

Comment utiliser<h:form> dans la page JSF ? Forme unique ? Formes multiples ? Formulaires imbriqués ?

J'utilise la technologie Facelet Templating pour mettre en page ma page dans une application JSF 2 sur laquelle je travaille.

Dans mon header.xhtml, primefaces exige que la barre de menus soit entourée de h:form.

 <h:form>
    <p:menubar autoSubmenuDisplay="true">
        Menu Items here!
    </p:menubar>
</h:form>

Donc, dans mes pages de contenu, j'aurai un autre h:form ou plus.

Est-ce que cela fonctionnera si je place simplement le h:form dans mon template.xhtml ?

 <h:body>
    <h:form>
        <div id="top">
            <ui:insert name="header"><ui:include src="sections/header.xhtml"/></ui:insert>
        </div>
        <div>
            <div id="left">
                <ui:insert name="sidebar"><ui:include src="sections/sidebar.xhtml"/></ui:insert>
            </div>
            <div id="content" class="left_content">
                <ui:insert name="content">Content</ui:insert>
            </div>
        </div>
        <div id="bottom">
            <ui:insert name="footer"><ui:include src="sections/footer.xhtml"/></ui:insert>
        </div>
    <h:form>
</h:body>

Je pense en fait à un cas d'utilisation où j'ai besoin de plusieurs h:form dans une page.

Merci

-1voto

emm Points 19

J'ai été déconcerté par ce problème pendant un moment. Au lieu d'une série de formulaires indépendants, j'ai converti en un modèle, c'est-à-dire qu'au lieu d'appeler un xhtml avec des formulaires répertoriés, généralement sous la forme ui:include, j'appelle ces anciennes pages xhtml ui:included qui ui: contenu capturé dans un modèle parent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X