我使用JSF2和素数面。我有一段代码
<c:forEach begin="1" end="5" var="i">
<h:outputLabel value="#{i} #{msg.set}:"/>
</c:forEach>
是否可以替换为ui:repeat而不创建范围从1到5的列表项?
您可以使用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>
否。ui:repeat标记不是一个通用的迭代标记,但仅适用于集合。
你必须使用forEach,或者围绕这个进行设计。