我正在做一个JSF与Primefaces,我在我的页面中有一个poll
,它每1秒更新一个表,但是当我在服务器端运行一个函数时,poll
不更新表。请让我知道poll
如何继续更新页面。提前感谢!
<p:poll interval="1" autoStart="false" update=":acceptedTable"
widgetVar="mypoll"></p:poll>
<h:panelGroup id="acceptedTable">
<p:dataTable value="#{taxiService.acceptedTaxies}" var="item"
paginator="true" style="width: 10%"
rendered="#{taxiService.lengthOfList != 0}" rows="10"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}">
<f:facet name="header">Accepted Taxies</f:facet>
<p:column style="text-align: center;">
<f:facet name="header">Number plate</f:facet>
<h:outputText value="#{item}"></h:outputText>
</p:column>
</p:dataTable>
</h:panelGroup>
在Tomcat服务器上运行
解决方案:不使用poll,使用JQuery更新表
您的poll
没有调用函数。
试一下:
<p:poll interval="15" listener="#{yourBean.yourFunction}" update=":acceptedTable" />
listener
将调用您的支持bean来执行您的函数。试着用一个简单的计数器来设置它,就像在PrimeFaces展示中一样,看看它是否真的在调用你的函数。然后你可以用你自己的函数替换它。如果它与计数器一起工作,而不是与您的函数一起工作,那么问题不在于poll
。