【发布时间】:2016-05-20 03:30:17
【问题描述】:
我的数据结构是这样的:
ObjectA 包含字符串 varA、varB 和 24 个 ObjectB 的列表。
ObjectB 包含字符串 varC,varD,varE。
我现在有一个 ObjectAs 列表。
我正在尝试使用 Primefaces 数据表来获得这样的输出(在表中)。 (对于每个 ObjectA)
我如何实现这一目标?在下面的屏幕截图中,第一列是行索引,第二列是来自 ObjectA 的 varA,第三列是来自 ObjectA 的 varB。标题为 1 到 24 的列是 24 个 ObjectB 中每个的 ONLY varC 的值。在第二行中,标题为 1 到 24 的列是来自 24 个 ObjectB 中的每一个的 ONLY varD 的值。在第三行中,标题为 1 到 24 的列是来自 24 个 ObjectB 中的每一个的 ONLY varE 的值。 三行完成后,现在我取下一个 objectA2 并重复该过程。我能够使用 c:forEach 标签在 jsp 中执行此操作。但是,我无法使用 JSF 完成这项工作。
我什至尝试在普通 HTML 表格中使用 ui:repeat,但如果 ObjectA ui:repeat 中有两个 ObjectB ui:repeat,则只有一个 ui:repeat 有效,另一个显示空白值。
p> <ui:repeat var="upto" value="#{getClearedTransactionsBean.clearedList}" varStatus="rowCounter">
<tr>
<td rowspan="3">#{rowCounter.index+1}</td>
<td><h:outputText value="#{upto.sink}"/></td>
<td>Cleared MW</td>
<ui:repeat value="#{upto.hourlyClearedList}" var="hourly">
<td><h:outputText value="#{hourly.clearedMW}"/></td>
</ui:repeat>
</tr>
<tr>
<td><h:outputText value="#{upto.sourceLocationLabel}"/></td>
<td>Source LMP</td>
<ui:repeat items="#{upto.hourlyClearedList}" var="hourly">
<td><h:outputText value="#{hourly.sourceLMP}"/></td>
</ui:repeat>
</tr>
<tr>
<td></td>
<td>Sink LMP</td>
<ui:repeat items="#{upto.hourlyClearedList}" var="hourly">
<td><h:outputText value="#{hourly.sinkLMP}"/></td>
</ui:repeat>
</tr>
<tr class="blankrow">
<td colspan="27"></td>
</tr>
</ui:repeat>
</table>
上面的截图是我在jsp中成功做的。但是,我需要在 JSF 2 中执行此操作。谢谢!
【问题讨论】:
标签: jsf primefaces datatable html-table jsf-2.2