我想使用 ICEFaces 显示一个列表,我想像这样输出它:
TAG1, TAG2, TAG3.
但是如果不使用 , 或 <% for (...) { ... } %>,有没有办法做到这一点?
谢谢!
我想使用 ICEFaces 显示一个列表,我想像这样输出它:
TAG1, TAG2, TAG3.
但是如果不使用 , 或 <% for (...) { ... } %>,有没有办法做到这一点?
谢谢!
ICEfaces 没有提供任何将“逻辑”放入视图的机制(渲染属性是唯一的一种方式)。
但是,我建议您看一下另外两个 JSF 标记:c:forEach和ui:repeat
您将在以下两个命名空间中找到它们:
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jstl/core"
有根本的区别,因为 c:forEach 是一个 TagHandler 而 ui:repeat 是一个组件。它基本上取决于您要在循环中输出的内容,您选择哪种方式。在构建视图时,它们将在不同阶段进行评估。
我推荐 Roger Keays 的一篇博文,它比较了 c:forEach 和 ui:repeat 并列出了一些典型问题:
Roger Keays,2007。C:forEach 与 ui:repeat 在 Facelets 中
更新:ice:panelSeries 组件迭代给定的对象集合。
<ice:panelSeries var="item" value="#{myList}">
<h:outputText value="#{item.printThisText}"/>
</ice:panelSeries>