Jsf Primefaces,菜单项ActionListener右键单击

Jsf Primefaces,菜单项ActionListener右键单击,jsf,primefaces,xhtml,actionlistener,menuitem,Jsf,Primefaces,Xhtml,Actionlistener,Menuitem,我这里有一些问题。我将感谢你的帮助 我正在用primefaces制作一些动态多级菜单,我做到了。有父菜单、子菜单和菜单项。 我想通过上下文菜单为每个组件提供一些CRUD操作,这样我只需右键单击即可编辑每个级别的值/文本 我使用名为MenussBean.java的bean创建菜单,您可以在下面看到它(只是相应的代码) 我想使用上下文菜单提供CRUD操作,这样用户就可以右键单击他想要编辑的组件。这是我的xhtml文件 <h:form> <p:panelMenu id="panel

我这里有一些问题。我将感谢你的帮助

我正在用primefaces制作一些动态多级菜单,我做到了。有父菜单、子菜单和菜单项。 我想通过上下文菜单为每个组件提供一些CRUD操作,这样我只需右键单击即可编辑每个级别的值/文本

我使用名为MenussBean.java的bean创建菜单,您可以在下面看到它(只是相应的代码)

我想使用上下文菜单提供CRUD操作,这样用户就可以右键单击他想要编辑的组件。这是我的xhtml文件

 <h:form>
<p:panelMenu id="panel" style="width:400px;font-size:12px"
        model="#{menussBean.model}" var="detail" selectionMode="single" ajax="true"
        widgetVar = "panelMen" styleClass="myMeineClass">

        </p:panelMenu>

    <p:contextMenu for="panel" style="font-size:12px">
        <p:menuitem value="View" icon="ui-icon-search"
            oncomplete="menuDialog.show()" update="display">
            <f:param name="id_barangbaru" value="#{detail}" />
            </p:menuitem>
        <p:menuitem value="Add" icon="ui-icon-plus" />
        <p:menuitem value="Edit" icon="ui-icon-pencil" />
        <p:menuitem value="Delete" icon="ui-icon-close" />
    </p:contextMenu>

    <p:dialog header="Menu Detail" widgetVar="menuDialog"
        resizable="false" width="200" showEffect="clip" hideEffect="fold"
        id="dialog" appendToBody="true" modal="true">

        <h:panelGrid id="display" columns="2" cellpadding="4" style="font-size:12px">

            <h:outputText value="ID:" />
            <h:outputText value="#{menussBean.idItem}"
                style="font-weight:bold" />

            <h:outputText value="Label:" />
            <h:outputText value="#{menussBean.menuItem}"
                style="font-weight:bold" />

            <h:outputText value="Parent:" />
            <h:outputText value="#{menussBean.idParentItem}"
                style="font-weight:bold" />
        </h:panelGrid>
    </p:dialog>
</h:form>

现在,我仍在将值输入到上下文菜单输出文本中,但需要先左键单击它。我需要通过右键单击直接传递值

那么,如何通过右键单击actionListener获得值呢?请帮助……

我想展示截图,但我是新来的,所以我没有任何名声

  public void onItemClick() {
    FacesContext context = FacesContext.getCurrentInstance();
    idItem =      context.getExternalContext().getRequestParameterMap().get("idParam");
    menuItem = context.getExternalContext().getRequestParameterMap().get("menuParam");
    idParentItem = context.getExternalContext().getRequestParameterMap().get("idParentParam");
}
 <h:form>
<p:panelMenu id="panel" style="width:400px;font-size:12px"
        model="#{menussBean.model}" var="detail" selectionMode="single" ajax="true"
        widgetVar = "panelMen" styleClass="myMeineClass">

        </p:panelMenu>

    <p:contextMenu for="panel" style="font-size:12px">
        <p:menuitem value="View" icon="ui-icon-search"
            oncomplete="menuDialog.show()" update="display">
            <f:param name="id_barangbaru" value="#{detail}" />
            </p:menuitem>
        <p:menuitem value="Add" icon="ui-icon-plus" />
        <p:menuitem value="Edit" icon="ui-icon-pencil" />
        <p:menuitem value="Delete" icon="ui-icon-close" />
    </p:contextMenu>

    <p:dialog header="Menu Detail" widgetVar="menuDialog"
        resizable="false" width="200" showEffect="clip" hideEffect="fold"
        id="dialog" appendToBody="true" modal="true">

        <h:panelGrid id="display" columns="2" cellpadding="4" style="font-size:12px">

            <h:outputText value="ID:" />
            <h:outputText value="#{menussBean.idItem}"
                style="font-weight:bold" />

            <h:outputText value="Label:" />
            <h:outputText value="#{menussBean.menuItem}"
                style="font-weight:bold" />

            <h:outputText value="Parent:" />
            <h:outputText value="#{menussBean.idParentItem}"
                style="font-weight:bold" />
        </h:panelGrid>
    </p:dialog>
</h:form>