我有不同的页面,不同的布局,例如index.xhtml和user.xhtml,每个页面都有自己的模板。如果我在user.xhtml中进行了更改,我想更新index.xhtml中的数据表。
的index.xhtml:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="/template.xhtml">
<ui:define name="body">
<h:form id="indexFormId">
<p:dataTable id="datalist" value="#{userController.items}"var="item" widgetVar="userWidget">
-----datatable columns and rows with user data------
</p:datatable>
</h:form>
user.xhtml:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="/templateB.xhtml">
<ui:define name="body">
<h:form>
<p:commandButton value="Modify User" actionListner="some action" update=":thisForm, :indexFormId"/>
</h:form>
因此,当我关闭user.xhtml时,我看到index.xhtml datatable已更新,而不需要手动刷新。可能吗 ?有一些方法可以实现这一目标吗?我发现使用相同的模板有一种方法可以做到这一点。
答案 0 :(得分:0)
请参阅以下选项中的PrimeFaces User Guide。
p:poll
组件(定期服务器轮询)。