2017-04-21 10 views
0

jspのdata []。配列の値にアクセスしようとしています。私がconsole.log( '$ {data [0] .name}')をjspファイル内のjavascriptに入力すると動作します。入力文字列の場合:私はループjava.lang.NumberFormatException:入力文字列の場合: "+ i +"

for(int i=0;i<=count;i++){ console.log('${data['+i+'].name}'

取得java.lang.NumberFormatExceptionを使用する場合、「+私は+」

あなたのループが代わりにJSTLを使用してJava のjavascriptのものとして理解されて
+0

問題は、forループがテンプレートより遅く実行されることです。したがって、テンプレートは 'date ['+ i +']'を見て、明らかにその文字列( '' + i + '')を数字に変換してインデックスとして使用できるようにしようとします。それは失敗します。では、ここで何を達成したいのですか? – ddekany

答えて

1

あなたは、このような配列を反復処理することができます:スクリプトレットで

<c:forEach items="${data}" var="d"> 
    console.log('${d.name}'); 
</c:forEach> 

<% for(int i=0; i<data.length;i++){%> 
    console.log('${data[i].name}'); 
<% } %> 

無料でマーカー:(.ftlファイル内)

<#list data as d> 
    console.log('${d.name}'); 
</#list> 
+0

これはjspファイル内のjsで試してみました。このエラーを取得するSyntaxError:期待される表現、 '<' –

+0

freemarkerの方法はfreemarkerファイル(.ftl)でのみ動作し、投稿を編集して他のオプションを追加しました –

+0

ありがとうございました。 –

関連する問題