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: повторяет компонент. В основном это будет зависеть от содержимого, которое вы хотите вывести в цикле . Они будут оцениваться на разных этапах при построении представления.
Я бы порекомендовал пост в блоге Roger Keays, в котором сравниваются c: forEach и ui: repeat и перечисляются некоторые типичные проблемы:
Roger Keays, 2007. c: forEach vs ui: повторите в Facelets
Обновление:
Есть компонент ice: panelSeries , который выполняет итерацию по заданному набору объектов.
<ice:panelSeries var="item" value="#{myList}">
<h:outputText value="#{item.printThisText}"/>
</ice:panelSeries>