I have a data model with structure : TreeMap < String, TreeMap< String, Double>> resultMap;
This is stored in a SessionScoped ManagedBean.
I am trying to output this via a dynamic < rich:extendedDataTable> where;
- Key of first map is the row label
 - Value of first map is a second map ( corresponds to the columns on the row
 - Key of second map is the columns header
 - Value of second map is the columns value
 
Source Code:
<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>
Output:

The first column is correctly outputting the keys of the first map.
The second column (used for debugging) is correctly outputting the map structure ( when I apply .keySet() to the structure I do get all the correct keys ). 
Using: jstl 1.2.0, jsf 2.1 - mojarra, richfaces 4.x, tomcat 7.
Update:
As stated here, the < c:forEach> has no access to the < rich:dataTable> attributes, hence unable to use key. Is there any simple workaround to this?