Ich habe einige Schwierigkeiten beim Durchlaufen einer HashMap, um ihre Werte auf dem Bildschirm auszugeben. Könnte jemand meinen Code überprüfen, um zu sehen, was ich falsch mache? Ich kann nichts falsch finden, aber es muss etwas geben.Probleme, die über eine HashMap mit JSF, MyFaces & Facelets iterieren
In einem Servlet, Ich füge die folgenden auf die Anfrage:
Map<String, String> facetValues = new HashMap<String, String>();
// Filling the map
req.setAttribute(facetField.getName(), facetValues);
In einem Fall "facetField.getName()" wertet "Disziplin" zu. Also in meiner Seite habe ich folgendes:
<ui:repeat value="${requestScope.discipline}" var="item">
<li>Item: <c:out value="${item}"/>, Key: <c:out value="${item.key}"/>, Value: <c:out value="${item.item}"/></li>
</ui:repeat>
Die Schleife wird einmal ausgeführt, aber alle Ausgänge sind leer?!? Ich hätte zumindest etwas im Item erwartet, wenn es einmal über die Schleife gegangen ist. Überprüfen Sie das Debug-Popup für Facelets, Disziplin ist da und auf der Schleife. Drucken sie den Bildschirm führt zu etwas, das für mich wie eine Karte sieht (ich habe die Ausgabe gekürzt):
{300=0, 1600=0, 200=0, ... , 2200=0}
ich auch mit einem c versucht haben: forEach aber ich bin die gleichen Ergebnisse zu erzielen. Hat jemand irgendwelche Ideen, wo ich falsch liege?
Vielen Dank für jede Eingabe, Lee
Kannst du klarstellen: Siehst du "Gegenstand :, Schlüssel :, Wert:" für jedes Element in der Karte (aber die tatsächlichen Werte werden nicht gedruckt)? – mtpettyp
Nicht für jeden Wert. Die Schleife iteriert nur einmal. Aber ich bin mir ziemlich sicher, dass ich die richtige HashMap in die Schleife gebe. –