jspからjavascriptにarraylistを渡しています。javascriptでarraylistの要素にアクセスする方法
jsp コード:
<%out.print(arraylist)%>
JavaScript
var http = createRequestObject();
var reponse=http.responseText
jspからjavascriptにarraylistを渡しています。javascriptでarraylistの要素にアクセスする方法
jsp コード:
<%out.print(arraylist)%>
JavaScript
var http = createRequestObject();
var reponse=http.responseText
JSONを使用すると、これを簡単に実現できます。JSONArrayを使用して、JSPまたはJavaでarraylistをjsonに変換できます。次に、javascriptでJSONを次のように繰り返すことができます
for(var i=0;i<jsonArr.length;i++){
var obj = jsonArr[i];
for(var key in obj){
var attrName = key;
var attrValue = obj[key];
}
}
以下のように、スクリプトレットで Arraylist を繰り返し、必要な値を javascript 変数に割り当てます。
大まかなコード
<%
Iterator it = arrayList.iterator();
while(it.hasNext()){
%>
<script> var val = <%=itr.next()%> </script>
<%}%>
それが役に立てば幸い!!
編集:
<script>
var someArray = [
<c:forEach items="${someArray}" var="it">
{
name = "<c:out value="${it.name}">",
val = "<c:out value="${it.val}">"
},
</c:forEach>
];
</script>
上記は、次のようなJavaScriptになります。
var someArray = [
{
name = "Peter",
val = "First Name"
},
{
name = "Naveen",
val = "Last Name"
}];
スクリプトレットを使用している場合は、Java コードのように繰り返す必要があります。
スニペットの例:
<%
Iterator itr = arrayList.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
%>
反復するにはJSTLを使用する必要があります。
タグライブラリを追加
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
配列リストを反復するコード
<c:forEach items="${arraylist}" var="current">
<c:out value="${current}"/>
</c:forEach>