У меня есть bean-код SessionScoped
, который имеет список карт. Я пытаюсь получить <rich:dataTable>
с использованием <a4j:repeat>
.<rich: dataTable> from listOfMaps
Список карт заполняется правильно, хотя нет вывода dataTable. Из чтения статей о переполнении стека, я думаю, что моя проблема может возникнуть из-за проблем жизненного цикла или моего новичка понимания jsf с richfaces.
Использование: Tomcat 7, JSF 2.1x - Mojarra, RichFaces 4.x
Вот то, что я до сих пор;
<rich:dataTable value="#{myBean.myMap}" var="map">
<a4j:repeat value="#{myBean.myMap[0].keySet().toArray()}" var="key">
#{map[key]}
</a4j:repeat>
</rich:dataTable>
Если кто-то может указать мне в правильном направлении, помощь будет принята с благодарностью!
Ответ:
Как указано ниже решение вместо этого использовать <c:forEach>
и использовать <rich:columns>
.
Решение:
<rich:dataTable value="#{queryBean.test}" var="map">
<c:forEach items="#{queryBean.test[0].keySet().toArray()}" var="key">
<rich:column style="text-align:left; width:auto;">
<f:facet name="header">
<h:outputText value="#{key}" />
</f:facet>
<h:outputText value="#{map[key]}" />
</rich:column>
</c:forEach>
</rich:dataTable>
Возможный дубликат [Динамические столбцы с богатыми слоями 4] (http://stackoverflow.com/questions/13835552/dynamic-columns-with-richfaces-4) – skuntsel
Это был один из сообщений, которые я прочитал. Теперь, когда я перечитаю его, я не вижу необходимости в моем вопросе –