TreeNodeを必要とするPrimeFacesのMenuBarを構築するために、データベースからTreeNodeを構築するためのいくつかの例が必要です。ここに私のメニューのビューの私のコードがあります。
データベースを使用してManagedBeanからTreeNodeを構築する必要があり、メニューはこのTreeNodeを使用してサブメニューとメニュー項目をペイントします。
ManagedBeanからデータベースからのクエリを処理し、これらのTreeNodeの構造を作成できるメソッドと、メニューを含むテーブルの構造に関するアイデアが必要です。メニューのタイトルのみを保存する必要があります。助けてください :(
<p:menubar style="width: auto;" autoDisplay="false">
<c:forEach items="#{treeBean.root.children}" var="nodos">
<p:submenu label="#{nodos.getData()[0].toString()}" icon="#{nodos.getData()[2].toString()}">
<c:forEach items="#{nodos.children}" var="hojas">
<c:if test="#{hojas.isLeaf()==false}">
<p:submenu label="#{hojas.getData()[0].toString()}" icon="#{hojas.getData()[2].toString()}">
<c:forEach items="#{hojas.children}" var="menus">
<c:when test="#{menus.leaf}">
<c:if test="#{menus.leaf==false}">
<p:submenu label="#{menus.getData().toString()}">
<c:forEach items="#{menus.children}" var="menus2">
<p:menuitem value="#{menus2.getData()[0].toString()}" action="#{menus2.getData()[1].toString()}"
ajax="false" icon="#{menus2.getData()[2].toString()}" />
</c:forEach>
</p:submenu>
</c:if>
<c:if test="#{menus.leaf}">
<p:menuitem value="#{menus.getData()[0].toString()}" action="#{menus.getData()[1].toString()}"
ajax="false" icon="#{menus.getData()[2].toString()}" />
</c:if>
</c:when>
</c:forEach>
</p:submenu>
</c:if>
<c:if test="#{hojas.isLeaf()==true}">
<p:menuitem value="#{hojas.getData()[0].toString()}" action="#{hojas.getData()[1].toString()}"
ajax="false" icon="#{hojas.getData()[2].toString()}" />
</c:if>
</c:forEach>
<c:if test="#{nodos.getData()[0].toString()=='Favoritos'}">
<p:menuitem value="Agregar Favorito" action="verPrueba" ajax="false" />
</c:if>
</p:submenu>
</c:forEach>
<f:facet name="options">
<p:commandButton value="Cerrar Sesión" icon="ui-icon-cerrarSesion" action="verPrueba"
/>
</f:facet>
</p:menubar>