代码之家  ›  专栏  ›  技术社区  ›  harto

Facelets转换器能否依赖于“ui:repeat”循环变量?

  •  1
  • harto  · 技术社区  · 14 年前

    我不希望这样做:

    <ul>
        <ui:repeat var="i" value="#{fn:split('1,2,3,4', ',')}">
            <li>
                <h:outputText value="1.2345">
                    <f:convertNumber
                            minFractionDigits="#{i}"
                            maxFractionDigits="#{i}" />
                </h:outputText>
            </li>
        </ui:repeat>
    </ul>
    

    我希望看到:

    • 一点二
    • 一点二三
    • 一点二三四
    • 一点二三四五

    相反,我看到:

    我错过了什么?我的猜测是,在运行时循环发生之前,当Facelet最初被加载时,转换器被初始化。有办法解决这个问题吗?

    我真正的用例涉及一个丰富的界面 rich:dataTable 组件而不是 ui:repeat 但是要点是一样的。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Bozho    14 年前

    它似乎真的不起作用。即使你使用 <h:outputText value="#{1.2345}"> ,这更正确。

    我猜,如果您需要这个,您必须在托管bean中准备输出。