Primefaces p:poll打破了“渲染”功能

时间:2019-05-28 22:12:00

标签: ajax primefaces selectonemenu

我有一个带ajax事件的下拉菜单,用于隐藏/显示基于'rendered'属性的另一个组件。

它工作正常,直到从另一个组件调用p:poll-ajax事件不会切换“ airportPickupWrapper”(尽管我可以在网络中看到ajax请求)

组件1:

<h:outputLink id="unresolvedOrdersCount" value="#{navigationMenuBean.setPage('management/orderManagement')}" style="color : red">
            New orders : #{headerController.getUnresolvedOrdersCount()}
</h:outputLink>

<p:poll interval="10" update="unresolvedOrdersCount"/>

component2:

<h:selectOneMenu id="orderTypeDropdown" value="#{orderController.order.orderType}">
    <f:selectItems value="#{orderController.orderTypes}"
                   var="orderType"
                   itemLabel="#{orderType.displayName}">
    </f:selectItems>
    <p:ajax event="change" update="airportPickupWrapper"/>
</h:selectOneMenu>
<p:panel id="airportPickupWrapper" >
    <h:panelGrid columns="1" rendered="#{orderController.order.orderType.name() == 'AIRPORT_PICKUP'}">
        <p:outputLabel for="flightNumber" value="Flight number: " />
        <p:inputText id="flightNumber" value="#{orderController.order.flightNumber}">

        </p:inputText>
    </h:panelGrid>
</p:panel>

谢谢你的建议

编辑:如果我更改组件1以便不调用后备bean,那么一切正常

<h:outputLink id="unresolvedOrdersCount"></h:outputLink>

1 个答案:

答案 0 :(得分:0)

已解决。

问题是我使用了h:outputLink,其中xmlns:h =“ http://xmlns.jcp.org/jsf/html”。 我将其切换为p:link(xmlns:p =“ http://primefaces.org/ui”),一切正常。

人们会认为它是兼容的。

谢谢。