2013-07-31 3 views
0

Мне нужно отобразить список элементов в сетке с использованием JSF 1.1 и Tomahawak.Отобразить список элементов в сетке в JSF 1.1

Я попробовал этот

<h:panelGrid columns="4"> 
    <h:dataTable value="#{globalTVChannelsBean.filteredChannels}" var="channel"> 
     <h:column><h:outputText value="#{channel.channelName}" /></h:column> 
    </h:dataTable> 
</h:panelGrid> 

и этот

<h:panelGrid columns="4"> 
    <c:forEach items="#{globalTVChannelsBean.filteredChannels}" var="channel" 
     <h:outputText value="#{channel.channelName}" /> 
    </c:forEach> 
</h:panelGrid> 

, но они оба не работают. Не могли бы вы увидеть проблему или предложить правильный способ ее выполнения.

+0

Какую ошибку вы получаете? – fareed

+0

Значения отображаются в одном столбце, тогда как я хочу, чтобы они отображались в четырех столбцах, как в сетке. – abbas

+0

Это потому, что вы указали один столбец! – fareed

ответ

0

Вам нужно посмотреть, как работает компонент dataTable.

DataTable создает для вас таблицу HTML. В вашем случае вам нужно использовать ui:repeat, который перемещается по массиву без создания тегов HTML-таблицы.

<h:panelGrid columns="4"> 
    <ui:repeat value="#{globalTVChannelsBean.filteredChannels}" var="channel"> 
     <h:outputText value="#{channel.channelName}" /> 
    </ui:repeat> 
</h:panelGrid> 
+0

ui: repeat не доступен для меня в проекте. – abbas

+0

Можно ли включить Facelets в свой проект? Если вы не можете попробовать JSTL c: foreach вместо – fareed

+0

C: forEach не работает. – abbas

0

я не мог сделать это с помощью JSF, однако, this помогли сделать это с JSTL с: Foreach.

-1

Вы должны включить это для того, чтобы использовать c:forEach

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
+0

Полезно отметить, почему вы отказались от моего ответа! –

Смежные вопросы