1

我使用 JSF2 和 primefaces。我有这段代码

<c:forEach begin="1" end="5" var="i">
    <h:outputLabel value="#{i} #{msg.set}:"/>
</c:forEach>

是否可以用 ui:repeat 替换而不创建 1 到 5 范围内的列表项?

4

2 回答 2

2

你也许可以用 spel 构建一个内联列表

http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/expressions.html

<ui:repeat var="i" value="#{1,2,3,4,5}">
    <h:outputLabel value="#{i} #{msg.set}:"/>
</ui:repeat>

但是如果你需要数百个,可能会很笨重。

我认为您必须创建某种支持 bean 才能更灵活。

它可以作为一个单独的实用程序 bean,它有一个返回整数列表的方法,我想可以帮助你,这样你就可以调用

<ui:repeat var="i" value="#{util.generate(1,5)}">
    <h:outputLabel value="#{i} #{msg.set}:"/>
</ui:repeat>
于 2013-07-02T13:56:21.830 回答
1

不可以。 ui:repeat 标签不是通用的迭代标签,但仅适用于集合。

您必须使用 forEach,或围绕此进行设计。

于 2013-07-02T13:55:13.727 回答