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 № 1Il 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 0strategyLoop.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>");
});
});