Jsf 当父组件渲染属性为false时渲染子组件?

Jsf 当父组件渲染属性为false时渲染子组件?,jsf,bootsfaces,Jsf,Bootsfaces,我想创建一个如下所示的网格: 要素1要素2要素3 要素4要素5要素6 我有以下代码: <ui:repeat value=#{beans.myElementList} var="element" varStatus="i"> <b:row rendered=#{i.index%3==0}> <b:column medium-screen="4"> #{element.display} </b:column&g

我想创建一个如下所示的网格:

要素1要素2要素3

要素4要素5要素6

我有以下代码:

<ui:repeat value=#{beans.myElementList} var="element" varStatus="i">
   <b:row rendered=#{i.index%3==0}>
      <b:column medium-screen="4">
         #{element.display}
      </b:column>
   </b:row>
</ui:repeat>
我的代码的结果是:

要素1

元素4

如何解决此问题?

请尝试以下代码。 第一个ui:为每3个元素重复渲染,第二个ui以每组3个元素的方式渲染其中的元素

<ui:repeat value="#{beans.myElementList}" step="3" varStatus="i" >

    <b:row>
        <ui:repeat value="#{beans.myElementList}" var="element"
                   step="1" offset="#{i.index}" 
                   size="#{i.index + 3 le beans.myElementList.size() ? i.index + 3 : beans.myElementList.size() }"
                   varStatus="j" >
             <b:column medium-screen="4">
                 #{element.display}
             </b:column>        
        </ui:repeat>
    </b:row>

</ui:repeat>
营救:

<ui:repeat value=#{beans.myElementList} var="element">
   <b:panelGrid columns="3" size="md">
     #{element.display}
   </b:panelGrid>
</ui:repeat>
其灵感来源于呈现HTML表格的标准。类似地,呈现由引导行和列组成的表。只需将要显示的所有内容放入面板网格中即可。BootsFaces自动检测何时渲染新行

我最初想到的用例是一个表单。通常,这样的表单是相同行的重复:标签、输入字段、错误消息。允许您以最小的工作量创建这样的表格形式

另请参阅

在BootsFaces 1.2.0发布之前添加:
看着文件,我对我所看到的不满意。所以我已经纠正并更新了它。在BootsFaces 1.2.0发布之前,另请参见。

您不能像这样使用“呈现的”。。。如果你真的想每三项开始一行,你需要一个更有创意的解决方案。其中一个:那么你同意除了divs被一行和一列替换之外,还有一个重复的?