动态添加panelGroup而不刷新整个父级

时间:2016-05-02 07:30:43

标签: jsf primefaces

我想从backendBean动态添加h:panelGroup,但不刷新整个父组件。

这是我的代码:

<h:panelGroup layout="block" id="dialogs">
</h:panelGroup>

对于这个panelGroup,我想从backendBean添加其他panelGroup:

public void addPanelGroup() {
    RequestContext rc = RequestContext.getCurrentInstance();
    doFind(FacesContext.getCurrentInstance(), "dialogs");
    HtmlPanelGroup div = new HtmlPanelGroup();
    div.setLayout("block");
    div.setId(id);
    found.getChildren().add(div);
}

private void doFind(FacesContext context, String clientId) {
    FacesContext.getCurrentInstance().getViewRoot().invokeOnComponent(context, clientId, new ContextCallback() {
        @Override
        public void invokeContextCallback(FacesContext context,
                UIComponent component) {
            found = component;
        }
    });
}

如果我打电话     RequestContext.getCurrentInstance().update("dialogs") 在addPanelGroup方法结束时它可以工作。但是当我在dialogs上添加第二个panelGroup时,我必须第二次刷新dialogs。有没有办法添加新的panelGroup而不刷新整个父panelGroup? 谢谢你的帮助。

0 个答案:

没有答案