如何在一个ui中迭代两个数组:重复?

时间:2011-08-01 21:52:02

标签: java arrays jsf jsf-2 facelets

我需要在'title'属性中插入值,但我想知道它是怎么做的,它应该是这样的:

<ui:repeat //..>
    <h:graphicImage library="images" name="#{image}" title="#{title}" />
</ui:repeat>

我可以用逗号发送一个字符串,仅分开:

<!-- calling the component -->
<cs:small_slider images="products/eletricity.jpg,products/water.jpg" >

<!-- the component with dynamic rendering -->
<cc:interface>
    <cc:attribute name="images" type="java.lang.String" required="true" />
</cc:interface>

<cc:implementation>
    <div id="slider-container">
        <div id="slider-small">
            <ui:repeat value="#{fn:split(cc.attrs.images, ',')}" var="image">
                <h:graphicImage library="images" name="#{image}" />
            </ui:repeat>
        </div>
    </div>
</cc:implementation> 

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

如果两个数组的相关项具有相同的数组索引,那么您可以通过varStatus的{​​{1}}可用的其中一个数组的当前循环索引来访问它们。

用法:

<ui:repeat>

复合组件:

<cs:small_slider 
    images="products/eletricity.jpg,products/water.jpg" 
    titles="Electicity,Water"
/>