【问题标题】:ui:repeat and h:panelGridui:repeat 和 h:panelGrid
【发布时间】:2012-01-20 17:39:48
【问题描述】:

当使用类似的东西时

<h:panelGrid columns="1">
    <ui:repeat var="o" value="#{mybean.list}">
        <h:outputText value="#{o.text}"/>
    </ui:repeat>
</h:panelGrid>

假设有 10 个列表条目,我只得到 1 行,例如:一个 tr 有 1 个 td 而当我使用 c:forEach 时我得到 10(但 c:forEach 实际上是邪恶的,它用 ajax 搞砸了一切)

我使用 mojarra 1.2 - 这是 MyFaces 实现中不存在的典型 Mojarra 错误吗?它会在 Mojarra 的 2.x 版本中消失吗?

【问题讨论】:

    标签: jsf facelets mojarra


    【解决方案1】:

    输出完全符合预期和指定。 &lt;ui:repeat&gt; 是一个渲染时间标签,而不是像&lt;c:forEach&gt; 这样的视图构建时间标签。构建视图后,&lt;h:panelGrid&gt; 以 1 个子组件(&lt;ui:repeat&gt; 本身)结束,而不是像 &lt;c:forEach&gt; 那样以 n &lt;h:outputText&gt; 组件结束。

    您需要&lt;h:dataTable&gt;。它正是为此目的而设计的。

    <h:dataTable var="o" value="#{mybean.list}">
        <h:column>
            <h:outputText value="#{o.text}"/>
        </h:column>
    </h:dataTable>
    

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      • 2012-05-22
      • 2016-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多