Announcement

Collapse
No announcement yet.

Loop durch eine HashMap

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Loop durch eine HashMap

    Hallo, ich habe das folgende Problem.
    Wenn ich versuche, über eine HashMap zu iterieren, bekomme ich einfach keine Ausgabe. Wenn ich die Hashmap ausgebe, erhalte ich folgende Struktur:

    Code:
    {nerd=1, zeitschrift=1, news=2, description=3, entry=3, heise=3, 
    www=3, spiegel=3, the=3, org=1, slashdot=3, online=1}
    Die Ausgabe habe ich mit der folgenden Zeile gemacht:

    Code:
    <h:outputText value="#{WSearchBean.tokensAndTheirNumbers}" />
    Nun versuche ich die einzelnen Keys und Values auszugeben. Dabei habe ich schon zwei Varianten versucht.

    (1)
    Code:
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
    
    ...
    
    <c:forEach var="element" items="#{WSearchBean.tokensAndTheirNumbers}">
      <h:outputText value="#{element.key}" />
    </c:forEach>
    (2)
    Code:
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    
    ...
    
    <h:dataTable value="#{WSearchBean.tokensAndTheirNumbers}" var="loc">
      <h:outputText value="#{loc.key}" /> 
    </h:dataTable>
    Bei beiden Loop Varianten erhalte ich keine Ausgabe.
    Hat irgendjemand eine Idee? Ich sitze daran nun schon zwei Tage und bekomme es einfach nicht hin.

  • #2
    http://www.mail-archive.com/users@my.../msg32829.html

    könnte helfen
    Christian

    Comment


    • #3
      Hallo,

      vielen Dank für die Antwort.

      Habe mir die Seite angeschaut. Der einzige Unterschied zu meinem Code war noch, dass sie dort anscheinend die Methode entrySet der HashMap genutzt haben. Habe das auch ausprobiert, doch wiederrum keine Ergebnisse in der Loop.

      Noch eine andere Idee, woran es liegen könnte?

      Comment


      • #4
        ist ddie Bean richtig annotiert? Scop,Name?
        Christian

        Comment


        • #5
          Zu oft initialisiert?

          Der Code mit dem c:forEach sieht eigentlich gut aus. Kann es sein, dass Du entwecer die WSearchBean oder das Feld tokensAndTheirNumbers falsch oder zu oft initialisierst oder nicht richtig in irgend einen Scope packst, so dass Du auf eine leere Map zugreifst?
          http://www.winfonet.eu

          Comment


          • #6
            Hallo,

            ich denke, der Scope ist in Ordnung, sonst hätte ich ja sicherlich nicht die erste Ausgabe erhalten?
            Ich habe mal den Eintrag aus der faces-config.xml hier eingetragen.

            Code:
            <managed-bean>
                <description>Uebergabe des Suchstring an die Ergebnisseite</description>
                <managed-bean-name>WSearchBean</managed-bean-name>
                <managed-bean-class>website.WSearch</managed-bean-class>
                <managed-bean-scope>session</managed-bean-scope>                                                                                                                         
              </managed-bean>
            Ich habe die Ausgabe der Hashmap noch einmal nach den beiden Schleifen gemacht. Dort bekomme ich die Hashmap auch wieder, nur die beiden Schleifen geben nichts aus.

            Code:
            <h:outputText value="#{WSearchBean.tokensAndTheirNumbers}" />
            <c:forEach var="element" items="#{WSearchBean.tokensAndTheirNumbers}">
              <h:outputText value="#{element.key}" />
            </c:forEach>
            <h:outputText value="second" />
            <h:dataTable value="#{WSearchBean.tokensAndTheirNumbers}" var="loc">
              <h:outputText value="#{loc.key}" />
            </h:dataTable>
            <h:outputText value="third" />
            <h:outputText value="#{WSearchBean.tokensAndTheirNumbers}" />
            Oder ist dort schon ein Fehler zu sehen?
            Zuletzt editiert von indianerrostock; 01.11.2010, 23:19.

            Comment


            • #7
              Hat keiner eine Idee?

              Ich habe wirklich keine Ahnung, warum ich bei forEach oder dataTable keine Ausgabe der Elemente bekomme.

              Comment

              Working...
              X