/ / wie man Array-Listendaten und JSON-Daten in JSP analysiert - Java, Arrays, JSON, Spring, JSP

Analysieren von Array-Listendaten und JSON-Daten in JSP - Java, Arrays, JSON, Spring, JSP

Ich habe 2 Datensätze auf meiner JSP-Seite, einer ist ein array list und ein anderes ist json data . Jetzt möchte ich sowohl den Datensatz analysieren als auch meine eigenen Dropdowns erstellen.

Hier ist das Beispiel Array List genannt json_obj Daten

["ABC-1","ABC-2","ABC-3","ABC-4","ABC-5","ABC-6"]

Ich habe diesen Code ausprobiert, aber er funktioniert nicht

<select>
<option value="all_qns">All</option>
<c:forEach var="strategy" items="${json_obj}" varStatus="strategyLoop">
<option><c:out value="${strategyLoop[index]}"/></option>

</c:forEach>
</select>

Leere Optionen erhalten

<select>
<option value="all_qns">All</option>
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
</select>

Auch ich habe dieses Stück json data genannt json_obj_m

{"a":"1050","b":"1079","c":"1073","d":"1074"}

Und ich habe das versucht:

<c:forEach items="${json_obj_m}" var="met">
<option value="${met.key}">${met.value}</option>
</c:forEach>

Aber nicht wieder arbeiten Fehler bekommen, diese Feder unterstützt nicht key .

Kann mich jemand dahin führen, wo ich Fehler mache, sehr neu in Java / Spring. Danke im Voraus.

Antworten:

1 für die Antwort № 1

Ihre Nutzung von JSTP foreach ist falsch: Sie erhalten den Wert in strategy und versuchen, (schlecht) zu verwenden strategyLoop Welches ist der Status. Sie sollten einfach schreiben:

<option>${strategy}</option>

Der Status hilft beim Zählen der Iterationen, die Sie verwenden ${strategyLoop.index} oder ${strategyLoop.count}:

  • strategyLoop.index beginnt bei 0
  • strategyLoop.count beginnt bei 1

1 für die Antwort № 2

Verwenden Sie zum Durchlaufen der Liste diesen Code:

<select id="someId">
<option value="all_qns">All</option>
<c:forEach var="strategy" items="${json_obj}" >
<option value="${strategy}">${strategy}</option>

</c:forEach>
</select>

Und wenn Sie JSON über einen Ajax-Aufruf erhalten, können Sie Folgendes verwenden (per JavaScript):

$.each(data, function(key, value) {
$("#someId").append("<option value="+key+"option>"+value+"</option>");
});
});