jspページに2セットのデータがあります。1つは array list
もう一つは json data
。次に、両方のデータセットを解析し、独自のドロップダウンを作成します。
ここにサンプルがあります Array List
名前 json_obj
データ
["ABC-1","ABC-2","ABC-3","ABC-4","ABC-5","ABC-6"]
このコードを試しましたが、機能しません
<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>
空白のオプションを取得する
<select>
<option value="all_qns">All</option>
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
</select>
また、私はこの部分を持っています json data
名前 json_obj_m
{"a":"1050","b":"1079","c":"1073","d":"1074"}
そして私はa =これを試しました:
<c:forEach items="${json_obj_m}" var="met">
<option value="${met.key}">${met.value}</option>
</c:forEach>
しかし、エラーが発生して再び動作しない、その春はサポートしていません key
.
Java / Springに非常に慣れていない、私が間違いを犯しているところを誰かが教えてくれますか?前もって感謝します。
回答:
回答№1は1JSTPの使用法 foreach
正しくありません:で値を取得します strategy
そして(ひどく)使用してみてください strategyLoop
これがステータスです。あなたは簡単に書くべきです:
<option>${strategy}</option>
ステータスは反復をカウントするのに役立ち、あなたは ${strategyLoop.index}
または ${strategyLoop.count}
:
strategyLoop.index
0から始まりますstrategyLoop.count
1から始まります
回答№2の場合は1
リストを反復処理するには、次のコードを使用します。
<select id="someId">
<option value="all_qns">All</option>
<c:forEach var="strategy" items="${json_obj}" >
<option value="${strategy}">${strategy}</option>
</c:forEach>
</select>
また、Ajax呼び出しを介してJSONを取得している場合は、これを使用できます(JavaScriptによる)。
$.each(data, function(key, value) {
$("#someId").append("<option value="+key+"option>"+value+"</option>");
});
});