没有附加渲染器,无法更新组件。组件类:"类org.primefaces.component.menuitem.UIMenuItem"

时间:2014-11-05 15:47:11

标签: jsf primefaces

我的页面上有一条警告:

Can not update component without a attached renderer. Component class: "class org.primefaces.component.menuitem.UIMenuItem"

它工作得很完美,但我仍然收到此警告信息。我所拥有的是一个应该根据所选行显示给用户的上下文菜单的表,呈现一些菜单。

这是我的表:

<p:dataTable id="protocoloTable" var="protocolo" value="#{juridicaBean.protocolsLazy}" paginator="true" lazy="true" selectionMode="single"
            selection="#{protocoloBean.selectedEntity}">
            <p:ajax event="contextMenu" update=":registration_form:protocoloTableMenu" oncomplete="protoMenu.show(currentEvent);" process="protocoloTable" />

这是菜单:

<p:contextMenu id="protocoloTableMenu" for="protocoloTable" widgetVar="protoMenu">
    <p:menuitem value="Visualizar protocolo" icon="icon-ticket icon-large" actionListener="#{ocorrenciaBean.loadViewOcorrencias(protocoloBean.selectedEntity)}"
                process="@this" update="view_proto_details" oncomplete="PF('viewProtocolDlg').show()"></p:menuitem>
    <p:menuitem value="Nova ocorrência" icon="icon-plus icon-large" actionListener="#{ocorrenciaBean.newOcorrencia(protocoloBean.selectedEntity)}" oncomplete="PF('ocorrenciaDlg').show()" process="@this" update="ocorrencia_details" rendered="#{protocoloBean.selectedEntity.status eq 'PENDENTE'}"></p:menuitem>
    <p:menuitem value="Reabrir protocolo" icon="icon-unlock-alt icon-large" rendered="#{protocoloBean.selectedEntity.status eq 'CONCLUIDO'}"
                actionListener="#{protocoloBean.openProtocol()}" update="protocoloTable" process="@this"></p:menuitem>

PF4

1 个答案:

答案 0 :(得分:0)

我知道这个问题已经过时了,但是我很好奇您是否直接从代码中使用UIMenuItem?

  • 如果是,您是否尝试使用MenuModel - MenuItem(DefaultMenuModel / DynamicMenuModel-DefaultMenuItem)?

  • 此外,您还应考虑对您在contextMenu中使用的每个项目使用ID