Jsf 2 Primefaces,当我将组件放到仪表板上时,我想触发操作

Jsf 2 Primefaces,当我将组件放到仪表板上时,我想触发操作,jsf-2,primefaces,Jsf 2,Primefaces,我使用的是Primefaces 5.1,我有一个仪表板,可以在上面放置组件 但是,当我把一个组件放在上面时,我希望渲染一个不同的组件 这是我的仪表板,以及克隆并放到仪表板上的面板组件 <p:dashboard id="board" model="#{dashboardBean.model}" binding="#{dashboardBean.dashboard}"> <p:ajax event="reorder" listener="#{dashboardBe

我使用的是Primefaces 5.1,我有一个仪表板,可以在上面放置组件

但是,当我把一个组件放在上面时,我希望渲染一个不同的组件

这是我的仪表板,以及克隆并放到仪表板上的面板组件

<p:dashboard id="board"  model="#{dashboardBean.model}" binding="#{dashboardBean.dashboard}">
        <p:ajax event="reorder" listener="#{dashboardBean.handleReorder}" update="msgs" />
</p:dashboard>

<p:panel id="draggable">
    <h:outputLabel value="Drag Panel Into Dashboard"></h:outputLabel>
</p:panel>
<p:draggable for="draggable" helper="clone" dashboard="board"/>

现在,我可以触发捕获“reorder”事件并更改“model”以在java端用正确的组件替换它。但此时仪表板不会重新渲染

我可以添加一个命令按钮来触发重新渲染

<h:commandButton value="Refresh"  action="#{dashboardManagedBean.refreshChart}"/>

但我希望这能自动发生

谁能给点建议吗

(将评论升级为答案)

如果您使用此
RequestContext.getCurrentInstance().update(“foo:bar”)
handleOrder()
引用组件会怎么样?

(注释升级为答案)

如果使用此
RequestContext.getCurrentInstance().update(“foo:bar”)
handleOrder()
引用组件,该怎么办