/ / come analizzare i dati dell'elenco di array e i dati json in jsp - java, array, json, spring, jsp

come analizzare i dati dell'elenco di array e dati json in jsp - java, array, json, spring, jsp

Ho 2 set di dati nella mia pagina jsp, uno è a array list e un altro è json data . Ora voglio analizzare sia il set di dati sia creare i miei menu a discesa.

Ecco il campione Array List di nome json_obj dati

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

Ho provato questo pezzo di codice ma non funziona

<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>

Ottenere opzioni vuote

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

Anche io ho questo pezzo di json data di nome json_obj_m

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

E io a = ho provato questo:

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

Ma non funzionando di nuovo ottenendo errori, quella primavera non supporta key .

Qualcuno può guidarmi dove sto facendo errori, molto nuovo in Java / Spring. Grazie in anticipo.

risposte:

1 per risposta № 1

Il tuo utilizzo di JSTP foreach non è corretto: ottieni il valore in strategy e prova a usare (male) strategyLoop qual è lo stato. Dovresti scrivere semplicemente:

<option>${strategy}</option>

Lo stato aiuta a contare le iterazioni e le usi ${strategyLoop.index} o ${strategyLoop.count}:

  • strategyLoop.index inizia da 0
  • strategyLoop.count inizia da 1

1 per risposta № 2

Per iterare la lista usa questo codice:

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

</c:forEach>
</select>

E se stai ricevendo JSON tramite la chiamata Ajax, puoi utilizzare questo (tramite JavaScript):

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