JSF 2.0でWebアプリケーションを開発しています。私のアプリケーションでは、プレゼンスを表示するためのテーブルが必要です。java.util.Mapから動的テーブルを作成
私は 'PresenceService' BeanにMap<Date, List<Presence>>
を持っています。
Presenceオブジェクトには、Personオブジェクト(名前と姓)とブール値の有無が存在します。
私はこのようになりますテーブルを作成したいと思います:
私は、このようなテーブルを作成するために使用することができJSFコンポーネント monday tuesday wednesday ...
Name Person 1 present not present present ...
Name Person 2 present present present ...
... ... ... ... ...
?それともマップを使ってはいけないのですか?私は<ui:repeat>
のテーブルを自分で作成しようとしましたが、失敗しました。 ユーザーが期間と人の範囲を選択できるので、列としての列は動的である可能性があります。
EDIT:溶液(Balus 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>
私は第2の選択肢に行くと思います。私は準備ができたら知らせます。本当にありがとう、私は本当に立ち往生した。 – Bart1990