JSF Dynamic PanelGrid Empty

时间:2015-06-29 08:31:04

标签: jsf jsf-2 panelgrid

我有一个动态创建的HtmlPanelGrid,它运行正常。我想使用相同的数据,但这次将它们分组,它将无法工作。当前的层次结构是:

<h:panelGrid binding="#{configurationManagedBean.dynamicAddonGrid}"/>

通常情况下,我这样表现出来:

<ui:repeat var="group" value="#{configurationManagedBean.dynamicAddonGrid.children}">
    <h:panelGrid binding="#{group}" />
</ui:repeat>

其中dynamicAddonGrid表示父元素。 但是,我想为每个第一级子元素显示一个新的panelGrid。所以我改变了这样:

HtmlPanelGrid dynamicAddonGrid = new HtmlPanelGrid();
for(int gridIndex = 0; gridIndex < addonGrids.size(); gridIndex++){
    AddonGrid currentGrid = addonGrids.get(gridIndex);

    HtmlPanelGrid addonComponentPanelGrid = new HtmlPanelGrid();
    addonComponentPanelGrid.setTitle(currentGrid.getDefinition());
    addonComponentPanelGrid.setColumns(8);
    for(int addonIndex = 0; addonIndex < currentGrid.getAddonList().size() ;addonIndex++){
        Addon currentAddon = currentGrid.getAddonList().get(addonIndex);

        HtmlOutputLabel labelComponent = new  HtmlOutputLabel();
        addonComponentPanelGrid.getChildren().add(labelComponent);

        HtmlCommandButton commandButton = new HtmlCommandButton();
        addonComponentPanelGrid.getChildren().add(commandButton);
    }   
    dynamicAddonGrid.getChildren().add(addonComponentPanelGrid);
}

但它没有显示任何内容。这就是我在辅助bean中创建这个层次结构的方法:

$(document).ready(function () {    
    $('input').keyup(function() {
        var $th = $(this);
        $th.val($th.val().replace(/[-]/g, function(str) { 
            //alert('You typed " ' + str + ' ".\n\nPlease use only letters and numbers.'); 
            return ''; 
        }));
    });
});

我省略了不相关的业务逻辑以便澄清。

父级和第一级子元素都是HtmlPanelGrids,但不知何故,我无法对它们进行分组。我的意思是我可以,但它只是没有显示。好像我忽视了什么。任何帮助将不胜感激。

0 个答案:

没有答案