【问题标题】:Displaying row index while looping using ui:repeat in JSF在 JSF 中使用 ui:repeat 循环显示行索引
【发布时间】:2011-12-06 19:06:19
【问题描述】:

我正在使用 ui:repeat 标记,并且设置了 varstatus="current"。我尝试使用以下命令显示行索引,但没有显示任何内容。

   <h:outputText value="#{current.index}"/>

我想显示行索引。

【问题讨论】:

    标签: jsf facelets


    【解决方案1】:

    它是在Facelets 2.x 中引入的。鉴于它不起作用,您使用的是Facelets 1.x。

    Facelets 2.x 不是独立可用的。它嵌入在 JSF 2.x 中。如果可以,请升级到 JSF 2.x。如果不能,那么您要么将模型包装在包含索引的自定义模型中,要么在视图标记允许的情况下获取 &lt;c:forEach&gt;(这是视图构建时间标签,而不是视图渲染时间标签),或者抓取Tomahawk's &lt;t:dataList&gt;,而不是为此目的具有rowIndexVar属性。


    更新 根据 cmets,您原来使用的是 RichFaces。在这种情况下,您还可以使用&lt;rich:dataList&gt; 或&lt;a4j:repeat&gt;,它们同时提供rowKeyVar 属性:

    <a4j:repeat value="#{bean.items}" var="item" rowKeyVar="index">
        <p>#{index} #{item}</p>
    </a4j:repeat>
    

    【讨论】:

    • 非常感谢 BalusC。是否可以在rich:dataList 中获取索引?
    • 哦,您使用的是 RichFaces?我假设是 3.3.x?是的,您当然可以使用它,只需设置rowKeyVar="index" 并使用#{index}。 &lt;a4j:repeat&gt; 也支持此属性,可能是&lt;ui:repeat&gt; 的更好替代品。
    • 这是richfaces 3.3.x。谢谢:) - 我欠你很多时间!我使用了 dataList 但我能够看到项目符号。我认为我必须对样式类进行必要的更改才能抑制子弹。
    猜你喜欢
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 2011-04-30
    相关资源
    最近更新 更多