私のJSFプロジェクトでは、いくつかの条件に基づいてツリーのすべてのノードに異なるコンテキストメニューを表示したい(正確にはいくつかの権限)
私のxhtmlによると、コンテキストメニューをツリーにバインドしているので、ツリーのすべてのノードで同じメニューを取得しています。コードは次のとおりです。
<p:contextMenu for="TreeID">
<p:menuitem value="Create" update=":centerPanel" actionListener="#{someBean.createPrivilege}" onstart="statusDialog.show();"
oncomplete="statusDialog.hide();" />
<p:menuitem value="Edit" update=":commonDialog :centerPanel" actionListener="#{someBean.editPrivilege}"
onstart="statusDialog.show();" oncomplete="statusDialog.hide();" />
<p:menuitem value="Delete" onstart="delPrivilegeConfirmDialog.show();" />
</p:contextMenu>
<p:scrollPanel mode="native" styleClass="scroll-panel">
<p:tree id="TreeID" value="root" var="node" selectionMode="single"
selection="#{someBean.selectedNode}" dynamic="true">
<p:ajax listener="#{someBean.onNodeSelect}" update=":centerPanel" event="select" onstart="statusDialog.show();"
oncomplete="statusDialog.hide();" />
<p:treeNode id="someID">
<h:outputText value="#{node}" id="lblNode" />
</p:treeNode>
</p:tree>
</p:scrollPanel>
しかし、私の要件によれば、すべてのノードで異なるコンテキスト メニューが必要です。基本的に、コンテキスト メニューには Create、Edit 、Delete などの 3 つのオプションがあり、特定の条件に基づいてすべてのノードで 1 つまたは 2 つのオプションを非表示にする必要があります。
どうすればいいですか?
前もって感謝します。