Aide pour menu PrimeFaces

PrimeFaces possède plusieurs types de menu. Ils sont détaillés dans cet article ou dans la documentation officielle.

Par exemple, pour utiliser le type "panelMenu" il suffit de remplacer le fichier menu.xhtml qui est inclus dans le template principal par un fichier qui utilise le menu PrimeFaces. Il faut utiliser le même modèle de fichier (avec une balise principale <ui:composition>).

Le contenu du fichier sera du type ci-dessous.

Le sous-menu pour l'accueil est ouvert (expanded="true") mais vous pouvez faire un autre choix.

Remarquez les liens par outcome pour une requête GET. L'attribut action créerait une requête POST.

<h:form>
    <p:panelMenu style="width:150px;">
      <p:submenu label="Acceuil" expanded="true">
        <p:menuitem outcome="/index" value="Accueil"/>
      </p:submenu>
      
      <p:submenu label="Liste des comptes">
        <p:menuitem outcome="/listeComptes" value="simple"/>
        <p:menuitem 
          outcome="/listeComptesLazy.xhtml" 
          value="avec lazy loading"/>
      </p:submenu>
      <p:submenu label="Transfert entre comptes">
        <p:menuitem outcome="/transfertArgent" 
                    value="avec id"/>
        <p:menuitem outcome="/transfertArgent_Ajax" 
                    value="avec Ajax"/>
        <p:menuitem outcome="flotTransfert" 
                    value="avec flot"/>
      </p:submenu>
      <p:menuitem outcome="/ajout.xhtml" value="Créer un compte"/>
    </p:panelMenu>
  </h:form>

Si vous préférez utiliser le type "tieredMenu", il suffit de remplacer <p:panelMenu> par <p:tieredMenu>.