我有一个结构的数据模型:TreeMap < String, TreeMap< String, Double>> resultMap;
这存储在SessionScoped
ManagedBean
。
我试图通过动态< rich:extendedDataTable>
其中输出
源代码:
<rich:extendedDataTable
value="#{queryBean.resultMap.keySet().toArray()}" var="key"
frozenColumns="1" styleClass="rich-extdt">
<rich:column width="75px">
<f:facet name="header">
<h:outputText value="Mediation" />
</f:facet>
<h:outputText value="#{key}" />
</rich:column>
<rich:column width="75px">
<f:facet name="header">
<h:outputText value="Test" />
</f:facet>
<h:outputText value="#{queryBean.resultMap[key]}" />
</rich:column>
<c:forEach items="#{queryBean.resultMap[key]}" var="map">
<rich:column width="75px">
<f:facet name="header">
<h:outputText value="#{map.key}" />
</f:facet>
<h:outputText value="#{map.value}" />
</rich:column>
</c:forEach>
</rich:extendedDataTable>
输出:
第一列正确输出第一张地图的键。
第二列(用于调试)正确输出地图结构(当我将.keySet()
应用于结构时,我会获得所有正确的键)。
使用:jstl 1.2.0,jsf 2.1 - mojarra,richfaces 4.x,tomcat 7.
更新
如上所述here,< c:forEach>
无法访问< rich:dataTable>
属性,因此无法使用key
。这有什么简单的解决方法吗?