2017-05-16 5 views
0

私は春とJSPのコーディングが初めてです。私は単にJavaScriptを使用して春のコントローラから私のJSPに渡されたオブジェクト配列をループしようとしています。次のhtmlコードは私のJSPで完璧に動作し、モデルはspringコントローラからjspビューに渡されます。JavaScriptを使用して春のMVCでオブジェクトをループするときに問題が発生する

しかし、私はjavascriptではなくhtmlを使用してこの配列をループする必要があります。

for (var x = 0; x < 10; x++){ 
      alert("${model.dataBaseManager.dataBases.get(0).institutionManager.institutions.get(x).name}"); 
    }; 

をしかしこれは単にxの値は、インデックスを保持していても、配列の最初の値の警告をポップアップ続ける:これは私がしようとしているものです。私は同じ正確な結果をJSPに渡す前に、JSONにdataBaseManagerを変換しようとしました。 ありがとう、

答えて

0

JSTLはサーバー側ですが、JSはクライアント側ですが、アラート行は最初の要素、つまりのサーバー側でのみ解析されます。ここでもJS、xには意味がありません。

あなたはJSのためにこの作業を試行することがあります。

<script> 
var prod=[];//js array 
<c:forEach items="${model.dataBaseManager.dataBases.get(0).institutionManager.institutions}" var="prod"> 
     prod.push("${prod.name}");// add each name one by one to js array 
</c:forEach> 
alert(prod.join(',')); // shows all name in one alert as csv 
</script> 
+0

簡単な質問:なぜ警告(x)がforループ内で正しく機能するのですか?つまり、forループ内にalert(x)を置くと、x(0〜9)の異なる値を持つ10個のインスタンスが正しくポップされますか? – MikeBadger

関連する問題