Я занимаюсь разработкой веб-приложения на JSF 2.0.В моем приложении мне нужна таблица для просмотра присутствия.
У меня есть Map<Date, List<Presence>>
в моем компоненте PresenceService.
У объекта Presence есть объект Person (с именем и фамилией) илогический подарок / нет.
Я хотел бы создать таблицу, которая выглядит следующим образом:
monday tuesday wednesday ...
Name Person 1 present not present present ...
Name Person 2 present present present ...
... ... ... ... ...
Какие компоненты JSF можно использовать для создания такой таблицы?Или я не должен использовать карту для этого?Я сам пытался создать таблицу с <ui:repeat>
, но не смог.Как столбцы, так и строки могут быть динамическими, поскольку пользователь может выбрать период и диапазон лиц.
РЕДАКТИРОВАТЬ: решение (см. Ответ Балус C)
Это работает как шарм:
<table>
<tr>
<th>Name</th>
<ui:repeat value="#{aanwezigheidController.siAanwezigheidService.datums}" var="datumHeader">
<th>
<h:outputText value="#{datumHeader}">
<f:convertDateTime pattern="dd/MM/yyyy" />
</h:outputText>
</th>
</ui:repeat>
</tr>
<ui:repeat value="#{aanwezigheidController.siAanwezigheidService.aanwezigheidSiRijen}" var="aanwRij">
<tr>
<td>#{aanwRij.persoon.naam} #{aanwRij.persoon.voornaam}</td>
<ui:repeat value="#{aanwezigheidController.siAanwezigheidService.datums}" var="datumCell">
<td>
<h:outputText value="aanwezig" rendered="#{aanwRij.aanwezighedenMap[datumCell].aanwezig}" />
<h:outputText value="afwezig" rendered="#{!aanwRij.aanwezighedenMap[datumCell].aanwezig}" />
</td>
</ui:repeat>
</tr>
</ui:repeat>
</table>