2013-06-20 5 views
0

Вопрос об повторении списка hashmap был задан много раз и попробовал то же самое решение, но его не работало. Я пытаюсь показать значения внутри hasmap, но не работает на jsf-странице (я использую jsf2.1). Когда я попытался выполнить итерацию в java, он отображает все значения, поэтому я знаю, что карта не пуста. Это то, что я попытался с помощью раствора @BalusCjsf итерация по hashmap

<ui:repeat var="aClip" value="#{manageClipModel.clipList}"> 
<ui:repeat value="#{aClip.revisions}" var="revs"> 
rev id <h:outputText value="#{revs.revId}"/> //dispalys value 
map len #{fn:length(revs.metadataMap.entry)} //displays right size of map         
    <c:forEach items="#{revs.metadataMap.entry}" var="entry"> 
     key <h:outputText value="#{abc.key}"/> //does not iterate this loop 
    </c:forEach> 
</ui:repeat> 

В значениях ява отображаются правильно

 for (Clip aClip : clipList) { 
     System.out.println("comment " + aClip.getComment() + " clip id " + Clip.getClipId()); 

     List<Revision> revs = aClip.getRevisions(); 
     System.out.println("rev size"+revs.size()); 
     if (revs != null && !revs.isEmpty()) { 
      for (Revision aRev : revs) { 
       System.out.println("metadata map size " + aRev.getMetadataMap().getEntry().size());      
       Iterator itr = aRev.getMetadataMap().getEntry().listIterator(); 
       while (itr.hasNext()) { 
        Revision.MetadataMap.Entry entry = (Revision.MetadataMap.Entry) itr.next(); 
        System.out.println("key " + entry.getKey()); 
        System.out.println("value " + entry.getValue().getValues().toString()); 
       } 
      } 
     } 
    } 
} 

Может кто-то момент, что не так я делаю?

+1

Вместо добавления 'solved' и решение вопроса, вы можете оставить ответ и принять его. –

+0

Я добавил вопрос к вопросу. если вы видите сообщение его отредактировал, не мог понять, как опубликовать ответ на свой пост – user2361862

+0

См. кнопку 'Ответ на свой вопрос' ниже? –

ответ

0

(Вопрос ответил ОР в вопросе редактирования конвертируется в сообщество вики ответа См Question with no answers, but issue solved in the comments (or extended in chat).).

ОП писал:

решаемые я пропускал один шаг, который был listIterator цикл из Java-код.

<ui:repeat value="#{aClip.revisions}" var="revs">        
    <ui:repeat value="#{revs.metadataMap.entry}" var="entryLst">//was missing this loop 
     <ui:repeat value="#{entryLst}" var="entry"> 
     <ui:repeat value="#{entry.value}" var="metaVal"> 
      changedFromPrevious - <h:outputText value="#metaVal.changedFromPrevious}"/> 
      key - <h:outputText value="#{metaVal.key}"/>  
      <ui:repeat value="#{metaVal.values}" var="aValue"> 
        <h:outputText value="#{aValue}"/>  
      </ui:repeat> 
      </ui:repeat> 
      </ui:repeat> 
     </ui:repeat> 
Смежные вопросы