Używanie java.util.Map w h: dataTable

Muszę wyświetlićMap za pomocą<h:dataTable>. Moja fasola maMap właściwość jak poniżej:

public class Bean {

    private Map<Integer,String> map; // +getter

    @PostConstruct
    public void init() {
        map = new TreeMap<Integer,String>();
        map.put(1,"Sasi");
        map.put(2,"Pushparaju");
        map.put(3,"Venkat Raman");
        map.put(3,"Prabhakaran");
    }

}

Następnie na stronie JSF próbuję to powiązaćMap własność dovalue atrybut<h:dataTable>.

 <h:dataTable border="1" value="#{bean.map}" var="map">
    <h:column id="column1">
        <f:facet name="header">
            <h:outputText value="UserId"></h:outputText>
        </f:facet>
        <h:outputText value="#{map.getKey}"></h:outputText>
    </h:column>
    <h:column id="column2">
        <f:facet name="header">
            <h:outputText value="Email Id"></h:outputText>
        </f:facet>
        <h:outputText value="#{map.getValue}"></h:outputText>
    </h:column>
</h:dataTable>

To daje błąd engetKey igetValue nie jest obecny. Rozumiem, że nie jest to właściwy sposób. Jak mogę przedstawićMap za pomocą<h:dataTable>?

questionAnswers(3)

yourAnswerToTheQuestion